#include <iostream> #include "windows.h" void main() { printf("0x%x", '가'); system("pause"); }
这段代码的结果是“0xB0A1”(CP949)这就是我想要的“0xAC00”(UNICODE)
我尝试将项目配置属性字符集更改为UNICODE但仍然无法正常工作
如果你能给我一些帮助,我真的很感激。谢谢
'가'是一个多字符字符常量,不适合单个字符。您需要使用wchar_t中定义的stddef.h。另见wchar.h。
'가'
wchar_t
stddef.h
wchar.h
所以,如果你想要unicode值:
#include <stdio.h> #include <stddef.h> int main(void) { wchar_t wide = L'가'; printf("Unicode: 0x%X\n", wide); return 0; }
这打印:
Unicode: 0xAC00
但是,如果你执行wchar_t wide = '가';,你会得到一个警告,当你运行它时,会输出0xEAB080,它是UTF8字节串。
wchar_t wide = '가';
0xEAB080