여기와 다른 곳 (아래 참조) 다른 게시물의 수를 검토 한 결과,하지만 난 아직이 질문에 대한 명확한 답이없는 : 어떻게 기본 다국어 평면 외부 유니 코드 문자를 처리 wchar_t를 창?Windows wchar_t는 기본 다국어 평면 외부에서 유니 코드 문자를 어떻게 처리합니까?
- many programmers seem to feel that UTF-16 is harmful는 가변 길이 코드이므로 :이다
.
- wchar_t is 16-bits wide on windows 그러나 32-bits wide on Unix/MacOS
- Windows API는 유니 코드가 아닌 와이드 문자를 사용합니다.
그래서 Windows에서 한 (U + 2008A) 한자를 코딩하려고 할 때 Windows가 어떻게합니까?
Windows는 인코딩으로 UCS2를 사용합니다. –
그게 내가 생각한거야. 그러나 (U + 1D565) MATHEMATICAL DOUBLE-STRUCK SMALL T를 포함하도록 Windows 컴퓨터에서 파일 이름을 성공적으로 편집했습니다 (http://programmers.stackexchange.com/questions/102205/should-utf-16-be 참조). - 간주 - 유해). 따라서 Windows가 UCS-2를 사용하더라도 SMP 문자를 파일 이름에 넣을 수 있습니다. 그러면 어떻게됩니까? – vy32
[Wikipedia] (http://en.wikipedia.org/wiki/NTFS#Internals)에 따르면 "NTFS는 이름 인코딩 (파일 이름, 스트림 이름, 인덱스 이름 등)에 대한 16 비트 값 시퀀스를 허용합니다. 이는 UTF-16 코드 포인트가 지원되지만 파일 시스템은 시퀀스가 유효한 UTF-16인지 (유니 코드 표준에 제한되지 않은 모든 짧은 값의 시퀀스를 허용하는지) 여부를 확인하지 않음을 의미합니다. " –