나는이와 함께 HTTP POST 요청을 만들고있어. StreamWriter
으로 로컬 파일을 만들 때, WITHOUT BOM을 쓰려면 항상 new UTF8Encoding (false)과 같은 기본 인코딩을 사용하십시오. 따라서 GetBytes()
메서드를 호출해도 마찬가지인지 궁금합니다.Encoding.UTF8.GetBytes()가 BOM을 생성합니까? <pre><code>byte[] postBuffer = Encoding.UTF8.GetBytes(postStr); </code></pre> <p></p>는 지금까지이 잘 작동 보이지만 <strong>Encoding.UTF8</strong>가 BOM 함께 UTF8을 의미하기 때문에 나는이 항상 작동하는지 확실하지 않다 :
위의 경우와 아래의 경우에는 차이가 있습니까?
byte[] postBuffer = new UTF8Encoding().GetBytes(postStr);
나는 여러 번 테스트했지만 100 % 확신 할 수 없으므로 여기에서 질문합니다.
귀하의 질문에 대한 답변입니까? https://stackoverflow.com/a/4414118/2395747 – wmioduszewski
그것이 의미하는 바가 아닙니다. Windows에서 BOM은 파일에 대해 아무 것도 모르는 앱을 만들 때 파일을 올바르게 해석하는 데 매우 중요합니다. 양측이 스트림 내용에 대해 동의해야하기 때문에 네트워크 프로토콜의 경우는 아닙니다. http의 경우 헤더가 인코딩을 지정합니다. HttpWebResponse.ContentEncoding –
@wmioduszewski에 감사드립니다. 그 답변도 도움이되었습니다. – Jenix