关于ascii和unicode编码之间的关系
答案:2 悬赏:0 手机版
解决时间 2021-01-17 12:33
- 提问者网友:雪舞兮
- 2021-01-17 06:31
关于ascii和unicode编码之间的关系
最佳答案
- 五星知识达人网友:鱼芗
- 2021-01-17 06:36
你说的是哪种语言的char数组?C语言和Java的char默认编码方式是完全不同的。追问C++语言假设我将汉字 汉 存入一个char的数组,然后我怎么输出这个汉字的unicode码呢谢谢追答C/C++的char数组使用的是ANSI编码,在中文环境下就是GBK编码。"汉"这个字GBK码为0xBABA,BA写成十进制为186,因此以十进制输出这两个char为186 186。追问嗯,那么我怎么转换成unicode码呢追答如果是在Windows下,可以利用API MultiByteToWideChar,将char*字符串转换为wchar_t*字符串。
char ansi[]="你好,世界!";
wchar_t unicode[10];
::MultiByteToWideChar(CP_ACP, 0, ansi, -1, unicode, 10);追问好的那么这个函数的参数在我改变数组大小的时候只需要改最后一个参数就行是吧追答时的追问unicode中存入的是ansi数组的unicode码吗,为什么我每次运行输出unicode数组,他的输出结果都不一样
为什么不一样啊追答数出宽字符要用wcout。追问谢谢
char ansi[]="你好,世界!";
wchar_t unicode[10];
::MultiByteToWideChar(CP_ACP, 0, ansi, -1, unicode, 10);追问好的那么这个函数的参数在我改变数组大小的时候只需要改最后一个参数就行是吧追答时的追问unicode中存入的是ansi数组的unicode码吗,为什么我每次运行输出unicode数组,他的输出结果都不一样
为什么不一样啊追答数出宽字符要用wcout。追问谢谢
全部回答
- 1楼网友:不如潦草
- 2021-01-17 06:45
Window上使用的简体汉字编码是GBK编码(如“汉”字是 BABA,即186,186),unicode编码是另外的一种编码,GBK编码和unicode编码之间没有任何关系,两者之间是没有公式可以转换的,如果需要进行转码,只能对汉字建立一张表来进行映射(如:{0xBABA,0x6C49}),转码时从表中查出。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯