标签: c character-encoding
#include <iostream> #include "windows.h" void main() { printf("0x%x", '가'); system("pause"); }
此代码的结果是&#34; 0xB0A1&#34; (CP949) 这就是我想要的&#34; 0xAC00&#34; (UNICODE)
我尝试将项目配置属性字符集更改为UNICODE 但仍然没有工作
如果你能给我一些帮助,我真的很感激。谢谢
答案 0 :(得分:2)
'가'是一个多字符字符常量,不适合单个字符 焦炭。您需要使用stddef.h中定义的wchar_t。也可以看看 wchar.h
'가'
stddef.h
wchar_t
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