이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 48991|회답: 3

[출처] BOM 태그가 포함되었는지 확인하기 위해 .NET/C#

[링크 복사]
게시됨 2021. 7. 16. 오후 1:22:54 | | | |
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 파일에 쓰기이로 인해 다음과 같은 포장 오류가 발생할 수 있습니다:

불법 문자: '\ufeff'


.NET / C#을 사용해서 파일에 BOM 태그가 포함되어 있는지 어떻게 판단하나요? , 코드는 다음과 같습니다:





동료들, 첨부UTF-8 BOM 형식을 UTF-8(BOM 태그 제외) 형식으로 변환합니다, 전체 코드는 다음과 같습니다:

(끝)

점수

참가자 수1MB+1 기여하다+1 무너지다 이유
모풍 123 + 1 + 1 정말 강력해!

모든 평점 보기





이전의:SQL SERVER는 삭제 파티션 함수와 파티션 방식을 제거합니다
다음:SQL Server 데이터베이스 내 각 테이블의 공간 발자국
게시됨 2021. 7. 16. 오후 10:41:40 |
 집주인| 게시됨 2024. 11. 1. 오후 3:00:47 |
UTF-8은 BOM 태그를 제거합니다

 집주인| 게시됨 2025. 6. 25. 오후 4:13:03 |
UTF-8은 BOM에 쓰지 않습니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com