BOM이란 무엇인가요?
바이트 순서 표시(BOM) 또는 바이트 순서 표시는 UTF-8, UTF16 또는 UTF-32로 인코딩된 유니코드 파일에 삽입되는 특별한 표시로, 유니코드 파일의 인코딩 유형을 식별하기 위해 사용됩니다. UTF-8의 경우 BOM은 필요하지 않으며, 이는 다중 바이트 인코딩 파일의 인코딩 유형과 바이트 순서(빅 엔디언 또는 리틀 엔디언)를 표시하는 데 사용됩니다. UTF-8에서는 각 문자에 인코딩된 비트 수가 첫 바이트로 표현되며, 빅엔디언과 리틀엔디언의 구분이 없습니다. UTF-8은 BOM을 요구하지 않지만, 유니코드 표준은 UTF-8에서 BOM 사용을 허용합니다. 따라서 BOM 없는 UTF-8이 표준 형태이며, 주로 Microsoft는 BOM을 UTF-8 파일에 넣는 것이 관례입니다(참고로, 세부 사항은 언급하지 않고 BOM이 포함된 UTF-16을 "유니코드"라고 부르는 것도 마이크로소프트의 습관입니다). BOM은 UTF-16과 UTF-32용으로 바이트 순서를 표시하기 위해 준비됩니다. Microsoft가 BOM을 UTF-8로 사용하는 이유는 UTF-8과 ASCII 인코딩을 명확히 구분할 수 있기 때문이며, 그렇지 않으면 Excel CSV 파일을 열 때 혼란스러울 수 있습니다. 하지만 이런 파일은 윈도우 이외의 운영체제에서 문제를 일으킬 수 있습니다. "UTF-8"과 "BOM이 포함된 UTF-8"의 차이는 BOM이 있는지 여부입니다. 즉, 파일 시작 부분에 U+FEFF가 있는지 여부입니다. UTF-8 웹 코드는 BOM을 사용하지 않아야 하며, 그렇지 않으면 오류가 흔합니다. http 응답에서 CSV 파일을 출력할 때, utf8로 설정하면 기본적으로 포함되지 않습니다 BOM을 사용하지만, Windows Excel은 BOM을 사용해 UTF8 인코딩을 확인하고, 모두 파일 시작 부분에 BOM을 써야 합니다.
처음 Java 코드 생성기를 개발할 때는 파일을 직접 넣게 됩니다BOM 태그가 포함된 UTF-8 파일에 쓰기이로 인해 다음과 같은 포장 오류가 발생할 수 있습니다:
.NET / C#을 사용해서 파일에 BOM 태그가 포함되어 있는지 어떻게 판단하나요? , 코드는 다음과 같습니다:
동료들, 첨부UTF-8 BOM 형식을 UTF-8(BOM 태그 제외) 형식으로 변환합니다, 전체 코드는 다음과 같습니다:
(끝)
|