C / C ++如何读取UNICODE的const char?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C / C ++如何读取UNICODE的const char?相关的知识,希望对你有一定的参考价值。
#include <iostream>
#include "windows.h"
void main()
{
printf("0x%x", '가');
system("pause");
}
这段代码的结果是“0xB0A1”(CP949)这就是我想要的“0xAC00”(UNICODE)
我尝试将项目配置属性字符集更改为UNICODE但仍然无法正常工作
如果你能给我一些帮助,我真的很感激。谢谢
答案
'가'
是一个多字符字符常量,不适合单个字符。您需要使用wchar_t
中定义的stddef.h
。另见wchar.h
。
所以,如果你想要unicode值:
#include <stdio.h>
#include <stddef.h>
int main(void)
{
wchar_t wide = L'가';
printf("Unicode: 0x%X
", wide);
return 0;
}
这打印:
Unicode: 0xAC00
但是,如果你执行wchar_t wide = '가';
,你会得到一个警告,当你运行它时,会输出0xEAB080
,它是UTF8字节串。
以上是关于C / C ++如何读取UNICODE的const char?的主要内容,如果未能解决你的问题,请参考以下文章