유니코드 노트
잘못 이해하는 낱말들
윈도의 원죄
- ANSI: 윈도에서는 항상 “활성 코드페이지(ACP)에 대응되는 인코딩”과 동일한 의미로 쓰인다. 당연하지만 똑같이 ANSI라고 해도 어느 언어 윈도를 쓰느냐에 따라 다른 인코딩을 가리킬 수 있다.
- 멀티바이트: ANSI와 동의어로 쓰임.
- 유니코드: 윈도에서 유니코드라고 하면 항상 UTF-16LE 인코딩을 의미한다. 절대로 UTF-8이 아니다!
wchar_t
: “유니코드” 문자열(즉, UTF-16LE로 인코딩된 문자열)을 담는 자료형. 보통은 wchar_t
하나가 한 코드포인트를 가리키지만 BMP 바깥이면 아닐 수 있다.
- UTF-8: 윈도에서 UTF-8은 좀 더 정확하게 말하면 UTF-8-BOM 인코딩을 의미한다. 필요하지도 않은 BOM(U+FEFF)이 항상 맨 앞에 붙어 있어 만인의 짜증을 유발한다.