차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
tech:unicode [2015/05/27 04:31] – 링크가 옮기기 작업 때문에 적응했습니다 72.14.199.43tech:unicode [2021/07/23 11:06] (현재) – [big-endian VS little-endian] V_L
줄 1: 줄 1:
 +{{tag>tech unicode utf-8 문자인코딩}}
 ======유니코드 (Unicode)====== ======유니코드 (Unicode)======
  
-우분투와 같은 리눅스에서는 파일이름에도 UTF-8을 사용할 수 있는데 윈도우는 UTF-8파일 이름을 지원하지 않는다. [[osx]]에서는 문서내용에는 일반적인 유니코드를 쓰지만, 파일시스템에는 [[unicode_nfd_dokuwiki|Unicode NFD]]를 쓴다.+우분투와 같은 리눅스에서는 파일이름에도 [[UTF-8]]을 사용할 수 있는데 윈도우는 UTF-8파일 이름을 지원하지 않는다. [[macos]]에서는 문서내용에는 일반적인 유니코드를 쓰지만, 파일시스템에는 [[unicode_nfd_dokuwiki|Unicode NFD]]를 쓴다.
  
   * Win-Rar은 3.80부터 유니코드 이름을 갖는 파일을 지원한다.   * Win-Rar은 3.80부터 유니코드 이름을 갖는 파일을 지원한다.
줄 26: 줄 27:
  
 =====BOM 이란?===== =====BOM 이란?=====
-[[wp>Byte_order_mark|BOM]] (Byte Order Mark)은 '바이트 순서 표시'입니다.+[[wp>Byte_order_mark|BOM]] (Byte Order Mark)은 '바이트 순서 표시'다.
  
-유니코드가 little-endian 인지 big-endian 인지 아니면 UTF-8 인지 쉽게 알 수 있도록, 유니코드 파일이 시작되는 첫부분에 보이지 않게, 2~3바이트의 문자열을 추가하는데 이것을 BOM이라고 합니다. 텍스트 에디터 화면에서는 보이지 않고, 헥사 에디터(Hex Editor)*로 열었을 때만 보입니다+유니코드가 little-endian 인지 big-endian 인지 아니면 UTF-8 인지 쉽게 알 수 있도록, 유니코드 파일이 시작되는 첫부분에 보이지 않게, 2~3바이트의 문자열을 추가하는데 이것을 BOM이라고 . 텍스트 에디터 화면에서는 보이지 않고, 헥사 에디터(Hex Editor)*로 열었을 때만 보
- Code  |=BOM|+^Code^BOM^
 |UTF-8|EF BB BF| |UTF-8|EF BB BF|
 |UTF-16(little-endian)|FF FE| |UTF-16(little-endian)|FF FE|
 |UTF-16(big-endian)|FE FF| |UTF-16(big-endian)|FE FF|
  
 +UTF-8 코드는 원래 그 자체로 구별이 가능하기 때문에 괜히 BOM이 필요없다. 그래서, UTF-8에는 BOM이 **없는 것이 보통**인데, 오래된 프로그램은 BOM이 있는 UTF-8 파일을 읽을 때 오작동할 수 있다.
  
 +윈도우의 메모장에서 UTF-8 로 저장을 하면 항상 BOM을 붙인다. 그런데 인터넷에 올려서 리눅스 서버에서 사용될 HTML/CSS/XML 파일을 UTF-8로 작성할 때에는 BOM이 있으면 문제가 생길 수 있다.
  
-UTF-8 코드는 원래 그 자체로 구별이 가하기 때문에 괜히 BOM이 필요없다고 합니다. UTF-8에는 BOM이 **없는 것이 보통**데, 오래된 프그램은 BOM이 는 UTF-8 파일에 오작동할 수 있습니다.+  * 울트라에디트의 헥사 모드(Ctrl+H)로 UTF-8 파일을 보면, 16비트 유니코드처럼 보이고 BOM이 있든 없든 항상 FF FE 라는 엉뚱한 BOM이 나타난다. 이것은 울트라에디터가 유니코드를 편집할 때, 내부적으로 '16비트 little-endian 유니코드 (UTF-16LE)'로 변환하여 편집하기 때문이다. 진짜 헥사 에디터로 보아야만 UTF-8의 BOM인 EF BB BF 가 제대로 보이게 된다. 물론 BOM이 는 UTF-8이라면 BOM이 없는 것으로 나온다.
  
-윈도우의 메모장에서 UTF-로 저장을 면 항상 BOM을 붙입니다그런데 인터넷에 올려서 리눅스 버에서 사용될 HTML/CSS/XML 파일을 UTF-8로 작성할 때에는 BOM이 있으면 문제가 생길 수 있습니다.+  * [[tech:notepad|]]과 같은 프로그램으로 완벽하게 유니코드문서를 편집할 수 있다. 
 +  
 +=====big-endian VS little-endian===== 
 +MS윈도에서 내부적으로 사용되는 유니코드(UTF-16LE)는 16비트 즉 2바이트로 하나의 글자를 표현함바이트가 2개니까 이 바이트에 가 정해져 있어야 함. big-endian 은 있는 순서 그대로 바이트를 자연스럽게 나열하는 것이고, little-endian 은 속도를 빠르게 하기 위해서 거꾸로 나열하는 것임. 
 +MS윈도의 유니코드는 리틀 엔디안 little-endian이 기본값임. 빅 엔디안 유코드는, 울트라에디터 v11 등의 일부 프로그램에서 전혀 인식하지 못했었다.
  
 +=====같이 보기=====
  
-  * 울트라에디트의 헥사 모드(Ctrl+H)로 UTF-8 파일을 보면, 16비트 유니코드처럼 보이고 BOM이 있든 없든 항상 FF FE 라는 엉뚱한 BOM이 나타납니다. 이것은 울트라에디터가 유니코드를 편집할 때, 내부적으로 '16비트 little-endian 유니코드 (UTF-16LE)'로 변환하여 편집하기 때문입니다. 진짜 헥사 에디터로 보아야만 UTF-8의 BOM인 EF BB BF 가 제대로 보이게 됩니다. 물론 BOM이 없는 UTF-8이라면 BOM이 없는 것으로 나옵니다. 
  
-  * [[tech:notepad|]]과 같은 프로그램으로 완벽하게 유니코드문서를 편집할 수 있습니다.+    * [[http://unicode.org/standard/translations/korean.html|유니코드 콘소시엄]] 
 +    * [[wp>Byte_order_mark|BOM]]
  
-BOM 
-http://en.wikipedia.org/wiki/Byte_order_mark 
- 
-=====big-endian VS little-endian===== 
-MS윈도에서 내부적으로 사용되는 유니코드(UTF-16LE)는 16비트 즉 2바이트로 하나의 글자를 표현합니다. 바이트가 2개니까 이 바이트에 순서가 정해져 있어야 합니다. big-endian 은 있는 순서 그대로 바이트를 자연스럽게 나열하는 것이고, little-endian 은 속도를 빠르게 하기 위해서 거꾸로 나열하는 것입니다. 
-MS윈도의 유니코드는 리틀 엔디안 little-endian이 기본값입니다. 빅 엔디안 유니코드는, 울트라에디터 v11 등의 일부 프로그램에서 전혀 인식하지 못했습니다. 
  
  
-{{tag>tech unicode utf-8}}