2011-02-02 10 views
0

UTF-8 인코딩이란 무엇이며이 형식으로 저장된 텍스트 파일이 다른 형식보다 더 큰 이유는 무엇입니까?UTF8 인코딩?

예를 들어 메모장에 'A'를 입력하고 UTF-8 형식으로 저장했습니다.

그 후에 파일 크기는 4 바이트로 바뀝니다. 왜?

답변

2

BOM (바이트 순서 표시)이 파일의 시작 부분에 삽입 되었기 때문에.

BOM은 파일의 인코딩을 감지하는 방법을 제외하고는 아무런 의미가없는 특수 문자 U + FEFF입니다. 여기에서 읽을 수 있습니다 : http://unicode.org/faq/utf_bom.html#BOM

UTF-8의 경우 BOM은 3 개의 추가 바이트가 나오는 \ xEF \ xBB \ xBF로 인코딩됩니다. 메모장 및 기타 텍스트 편집기는 파일의 인코딩을 추측하기 위해 BOM을 찾습니다. \ xFF \ xFE를 보면 little endian 형식으로 인코딩 된 UCS-2라고 가정합니다. \ xFE \ xFF는 빅 엔디안 형식으로 인코딩 된 UCS-2를 의미합니다.

+0

BOM이란 무엇입니까? –

+2

원하는 검색 엔진으로 "UTF-8 BOM"을 검색하는 방법은 무엇입니까? 첫 번째 히트. –

+0

BOM은 Byte Order Mark의 TLA입니다. 파일이 리틀 엔디안 또는 빅 엔디안으로 저장되었는지 확인할 수 있습니다. – BillThor

2

이는 BOM (바이트 순서 표시) 때문입니다. UTF-8은 127보다 큰 숫자 값 (ASCII가 아닌 문자) 만 확장합니다.

모든 텍스트 편집기가이를 수행하지는 않습니다. 메모장은 악명이 높습니다 (쓸모없는 UTF-8 BOM).

+0

많은 문자를 표시 할 수 있다는 의미입니까? –

+0

예. UTF-8을 사용하여 모든 유니 코드 문자를 표시 할 수 있습니다. –

6

파일을 저장하는 데 사용하는 파일이 UTF-8의 0x37 0xBB 0xBF 인 byte order mark이기 때문에 거의 확실합니다.

UTF-8은 UTF-8보다 더 높은 유니 코드 값을 위해 점진적으로 더 많은 바이트를 사용하는 유니 코드 인코딩입니다. 중요하게 ASCII 문자는 단일 바이트 (ASCII와 동일한 바이트)로 저장됩니다. 따라서 모든 ASCII 파일은 동일한 텍스트가있는 UTF-8 파일이기도합니다. This web pageWikipedia과 같이 더 많습니다.

관련 문제