찾기
내용으로 건너뛰기
추적
문서의 이전 판을 선택했습니다!
저장하면 이 자료로 새 판을 만듭니다.
미디어 파일
{{tag>tech unicode utf-8}} ======유니코드 (Unicode)====== 우분투와 같은 리눅스에서는 파일이름에도 [[UTF-8]]을 사용할 수 있는데 윈도우는 UTF-8파일 이름을 지원하지 않는다. [[macos]]에서는 문서내용에는 일반적인 유니코드를 쓰지만, 파일시스템에는 [[unicode_nfd_dokuwiki|Unicode NFD]]를 쓴다. * Win-Rar은 3.80부터 유니코드 이름을 갖는 파일을 지원한다. * [[도쿠위키|도쿠위키]]는 최신버전인 Anteater부터 유니코드파일이름을 지원한다. * [[http://leanu.tistory.com/380|한글 초중종성 자모 코드로 유니코드 만드는 공식]] ((Unicode(UCS2)로 구성된 한글은 초성 중성 종성으로 분리가 된다. 종성 = characterValue % 28 중성 = ( (characterValue - 종성 ) / 28 ) % 21 초성 = ( ( (characterValue - 종성 ) / 28 ) - 중성 ) / 21 이 값들은 인덱스 값이지 실제 Unicode 테이블표에 매치되지 않는다. 매치 시키려면 각각 초성 중성 종성의 시작 unicode 값들을 더해주면 된다. ( 초성 : 0x1100 , 중성 : 0x1161 , 종성 : 0x11A7 ) 또한 초성 중성 종성의 값들로 원래의 글자값을 만들려면 다음의 공식을 이용하면 된다. 물론 각각의 값들은 인덱스 값이어야 한다. (실제 테이블 매치 값이면 각각의 값들을 빼준다.) characterValue = ( (초성 * 21) + 중성) * 28 + 종성 + 0xAC00 한국어 자모와 글자에 대한 Unicode table 표를 참조하고 싶다면 아래의 링크로 들어간다. 자모 : http://www.unicode.org/charts/PDF/U1100.pdf 음절 : http://www.unicode.org/charts/PDF/UAC00.pdf)) =====BOM 이란?===== [[wp>Byte_order_mark|BOM]] (Byte Order Mark)은 '바이트 순서 표시'이다. 유니코드가 little-endian 인지 big-endian 인지 아니면 UTF-8 인지 쉽게 알 수 있도록, 유니코드 파일이 시작되는 첫부분에 보이지 않게, 2~3바이트의 문자열을 추가하는데 이것을 BOM이라고 함. 텍스트 에디터 화면에서는 보이지 않고, 헥사 에디터(Hex Editor)*로 열었을 때만 보임. ^Code^BOM^ |UTF-8|EF BB BF| |UTF-16(little-endian)|FF FE| |UTF-16(big-endian)|FE FF| UTF-8 코드는 원래 그 자체로 구별이 가능하기 때문에 괜히 BOM이 필요없다고 함. UTF-8에는 BOM이 **없는 것이 보통**인데, 오래된 프로그램은 BOM이 있는 UTF-8 파일에 오작동할 수 있다. 윈도우의 메모장에서 UTF-8 로 저장을 하면 항상 BOM을 붙이다. 그런데 인터넷에 올려서 리눅스 서버에서 사용될 HTML/CSS/XML 파일을 UTF-8로 작성할 때에는 BOM이 있으면 문제가 생길 수 있다. * 울트라에디트의 헥사 모드(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|]]과 같은 프로그램으로 완벽하게 유니코드문서를 편집할 수 있다. =====big-endian VS little-endian===== MS윈도에서 내부적으로 사용되는 유니코드(UTF-16LE)는 16비트 즉 2바이트로 하나의 글자를 표현합니다. 바이트가 2개니까 이 바이트에 순서가 정해져 있어야 합니다. big-endian 은 있는 순서 그대로 바이트를 자연스럽게 나열하는 것이고, little-endian 은 속도를 빠르게 하기 위해서 거꾸로 나열하는 것입니다. MS윈도의 유니코드는 리틀 엔디안 little-endian이 기본값입니다. 빅 엔디안 유니코드는, 울트라에디터 v11 등의 일부 프로그램에서 전혀 인식하지 못했습니다. =====같이 보기===== * [[http://unicode.org/standard/translations/korean.html|유니코드 콘소시엄]] * [[wp>Byte_order_mark|BOM]]
2+1?
이 필드는 비어 있도록 유지하세요:
저장
미리 보기
취소
편집 요약
참고: 이 문서를 편집하면 내용은 다음 라이선스에 따라 배포하는 데 동의하는 것으로 간주합니다:
CC Attribution-Noncommercial-Share Alike 4.0 International
연결문서
지메일에서 CSV 불러오기 오류 해결 방법
리눅스에서 삼바를 마운트하기 (Mount CIFS)
MP3 태그를 유니코드로 변환(Mp3 Tag Unicode Converting)
Osxfuse (macfuse, macfusion)
Php Auto-convert UTF-8
UTF-8
문서 도구
문서 보기
이전 판
연결문서
맨 위로
다크 모드로 보기
☀️
Toggle Menu
기술
너두 고쳐두 됩니다.
사이트 도구
최근 바뀜
미디어 관리자
사이트맵
사용자 도구
등록
로긴
최근 수정된 문서
misuse_topical5
노박
unique_items
dinner_bell
deputy_beagle
ratslayer
one_for_my_baby
alerio
power_fist
제거됨
fixer
climb_ev_ry_mountain
companion
[장비 분실]
crashed_vertibird
brotherhood_t-51b_power_armor
marco
i_forgot_to_remember_to_forget
cateye