如和用C语言将汉字转化成unicode编码

Kaneki_Ken 2014-09-16 05:15:46
如和用C语言将汉字转化成unicode编码呢?
比如将“云”转化成unicode编码然后输出来
...全文
939 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kaneki_Ken 2014-09-16
  • 打赏
  • 举报
回复
好的,多谢啦
常书 2014-09-16
  • 打赏
  • 举报
回复
好吧,给你代码,环境是DEV C++,根据你自己的需要自己调整吧

#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>

int main(int argc, char *argv[])
{
	char *testStr = "中";
	unsigned short outputStr[20] = {0};
	int  unicodeLen = 0;
	int i = 0;
	
	unicodeLen = MultiByteToWideChar( CP_ACP,
            0,
            testStr,
            -1,
            NULL,
            0 ); 	
	
	
	MultiByteToWideChar( CP_ACP,
         0,
         testStr,
         -1,
         (LPWSTR)outputStr,
         unicodeLen ); 
         
    for (i=0;i<unicodeLen/2;i++)
	{
		printf("[%d]%x\r\n",i,outputStr[i]);
	}
	
	return 0;
}
Kaneki_Ken 2014-09-16
  • 打赏
  • 举报
回复
我的目的不是为了得到某个字的unicode值,所以用C语言以外的方法是行不通的, 有谁知道如何用C语言将 某个字转化为unicode值呢
常书 2014-09-16
  • 打赏
  • 举报
回复
第1种方法,如楼上所说,调用WINDOWS API,直接转换 第2种方法,可以将汉字写入文本文件中,保存为unicode,以二进进方式读,取值
Kaneki_Ken 2014-09-16
  • 打赏
  • 举报
回复
这是我们的作业。 我不需要讲所有的汉字都转化成unicode编码,我只需要将我需要转化 的字符变为unicode编码,所以不需要考虑工作量的问题, 我要的只是转化的方法 只能用于Windows或者linux的方法是行不通的
边走边瞧 2014-09-16
  • 打赏
  • 举报
回复
所以,你要做的就是调用API来完成。windows下有对应的转换函数,MultibyteToWideChar、WideCharToMultibyte,查MSDN吧。其他平台不知道,应该也是有资料的。
边走边瞧 2014-09-16
  • 打赏
  • 举报
回复
这个工作比较艰巨,光是unicode就有好几个标准:utf8、utf16le、utf16be、utf32等等。你要一一实现的话,不知道几年能做完。而且更重要的是,这个别人早都做好了,为什么还要重复呢。

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧