2014-09-09 2 views
1

난해한 언어의 FFI를 통해 MessageBoxW Windows API 함수를 호출하려고합니다.API 호출시 예상되는 LPCWSTR 문자열은 어떤 인코딩입니까?

두 개의 문자열이 함수에 제공됩니다. 제가 틀릴 수도 있지만 나는 LPCWSTR 포인터가 이러한 문자열의 예상 문자 집합 무엇

및 인코딩 (컴파일러 특정 폭있는) wchar_t의 null로 끝나는 문자열을 가리하도록되어 이해 Win32 API?

+1

LPCWSTR은'const wchar_t *'의 타입 별칭입니다. 항상 utf-16, Windows SDK를 사용할 수있는 컴파일러 관련 컴파일러가 아닙니다. –

답변

2

필요한 인코딩은 유니 코드 UTF-16LE입니다.

wchar_t의 크기는 구현에 따라 정의되지만 Windows의 경우 wchar_t은 항상 16 비트입니다.

+1

UTF-16 ** LE **이 특별한 경우의 엔디안 문제는 – Mgetz

+0

@DavidHeffernan입니다. 답변에 이것을 포함 할 수 있습니까? –

+1

좋아요, 그랬어요. Windows는 리틀 엔디안 플랫폼에서만 실행되기 때문에 일종의 당연한 일이었습니다. 언젠가 빅 엔디안에서 실행되면 UTF-16BE를 사용하게됩니다. –

관련 문제