如何使用C语言将汉字转换成UTF8编码,如将“你好”转成:%E4%BD%A0%E5%A5%
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用C语言将汉字转换成UTF8编码,如将“你好”转成:%E4%BD%A0%E5%A5%相关的知识,希望对你有一定的参考价值。
如何使用C语言将汉字转换成UTF8编码,如将“你好”储存在txt文件中,输出到另一个txt文件的UTF8内容为:%E4%BD%A0%E5%A5%
你说的好像是不对。这是把ascii马用16进制表示。并不是utf8,我不知道你要干什么,不过我猜你做的是web应用,需要把特殊字符转化成%16进制格式,如果你的系统真是utf8的话,我想你应该这么做用iconv_open和iconv,先把字符串变成utf-8。然后在把这个串中的每个字节都变成16进制加%的格式。
如果你只是需要16进制转换,那就简单了。把没有字符的ascii拿出来,sprintf(%02x)成16进制,在合起来就成。
参考资料:http://bbs.chinaunix.net/viewthread.php?tid=251036
参考技术A char a[]="北京" 这时系统在串的后面加'/0' 每个汉字2字节 所以2*2+1=5 参考技术B char a[]="北京" 这时系统在串的后面加'/0' 每个汉字2字节 所以2*2+1=5 参考技术C 参考一下这个:http://apps.hi.baidu.com/share/detail/7934836
如何将unicode转换成汉字
参考技术A Unicode(万国码)是一个国际标准字符集,是国际上电脑行业系统字符集的标准,其版本不断更新,目前的6.2版含有7.68万以上汉字和数万个包括各国语言文字及图案的图形符号,各版本基本上是向下兼容的,因此,万国码的汉字用不着再加以转换,高版本的汉字在低版本中一般都能显示出来,除非是低版本中的缺字没法显示,但在低版本中也没法转换。本回答被提问者采纳 参考技术Bwww.wytools.cn/enc_unicode.html 这个自己做的小工具网站可以在线把unicode和中文互相转换,中文转unicode,unicode转中文
以上是关于如何使用C语言将汉字转换成UTF8编码,如将“你好”转成:%E4%BD%A0%E5%A5%的主要内容,如果未能解决你的问题,请参考以下文章