유니코드 문자열에서 처음에 저장하는 FE FF가 바이트 순서를 가르키는걸로 알고있습니다 왜 하필 값이 FE FF인가요? 00 01 이라던가 00 FF 라던가 할수도 있는거 같은데 이에 특별한 이유가 있는것인가요?
FE FF로 시작하면, utf-8으로 작성된 문서라는 것을 나타내는 헤더 같은 것으로 알고 있는데요.
실제 데이터는 3번째 바이트부터이고....
그냥 고유한 값이라고 보시면 될 것 같네요.
http://en.wikipedia.org/wiki/Byte_Order_Mark 를 보시면 모든 의문점이 해결될겁니다.
BOM는 파일의 첫 바이트부터 4바이트까지의 바이트값으로 파일의 캐럭터셋에 대한 엔코딩타입을 나타내는 겁니다.
파일에서 버퍼(문자열)로 옮긴다면 굳이 BOM를 가지고 있을 이유가 없습니다. 다시 파일로 저장할때만 넣어주면 됩니다.
BOM 찍어볼 때 little endian과 big endian 용어를 기억하세요.
※ 각별히 에디터를 주의해야 합니다. 에디터에서 UTF-8, UNICDOE(UCS-2LE)... 등 저장했다고 정확하지는 않습니다.
BMP파일 헤더내용을 전부 안채워넣는 이미지뷰어가 있듯이.. 조심하셔야 합니다.
IamAboy. YouareAgirl. Ah.hhh...
Hello World.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
그냥 유니코드 헤더 아닌가요?
FE FF로 시작하면, utf-8으로 작성된 문서라는 것을 나타내는 헤더 같은 것으로 알고 있는데요.
실제 데이터는 3번째 바이트부터이고....
그냥 고유한 값이라고 보시면 될 것 같네요.
그런걸 BOM(Byte-order mark)라고 하는겁니다.
http://en.wikipedia.org/wiki/Byte_Order_Mark
를 보시면 모든 의문점이 해결될겁니다.
문자열이 아니고 파일입니다.
BOM는 파일의 첫 바이트부터 4바이트까지의 바이트값으로 파일의 캐럭터셋에 대한 엔코딩타입을 나타내는 겁니다.
파일에서 버퍼(문자열)로 옮긴다면 굳이 BOM를 가지고 있을 이유가 없습니다. 다시 파일로 저장할때만 넣어주면 됩니다.
BOM 찍어볼 때 little endian과 big endian 용어를 기억하세요.
※ 각별히 에디터를 주의해야 합니다. 에디터에서 UTF-8, UNICDOE(UCS-2LE)... 등 저장했다고 정확하지는 않습니다.
BMP파일 헤더내용을 전부 안채워넣는 이미지뷰어가 있듯이.. 조심하셔야 합니다.
IamAboy. YouareAgirl. Ah.hhh...
Hello World.
댓글 달기