如何使用C语言将汉字转换成UTF8编码,如将“你好”转成:%E4%BD%A0%E5%A5% 20

如何使用C语言将汉字转换成UTF8编码,如将“你好”储存在txt文件中,输出到另一个txt文件的UTF8内容为:%E4%BD%A0%E5%A5%... 如何使用C语言将汉字转换成UTF8编码,如将“你好”储存在txt文件中,输出到另一个txt文件的UTF8内容为:%E4%BD%A0%E5%A5% 展开
 我来答
龙腾知财经
推荐于2017-09-24 · TA获得超过115个赞
知道小有建树答主
回答量:322
采纳率:100%
帮助的人:39.6万
展开全部
你说的好像是不对。这是把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

knx22491
2011-01-20 · TA获得超过1079个赞
知道小有建树答主
回答量:971
采纳率:0%
帮助的人:757万
展开全部
char a[]="北京" 这时系统在串的后面加'/0' 每个汉字2字节 所以2*2+1=5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fqi37633
2011-01-19 · TA获得超过1047个赞
知道小有建树答主
回答量:1063
采纳率:0%
帮助的人:835万
展开全部
char a[]="北京" 这时系统在串的后面加'/0' 每个汉字2字节 所以2*2+1=5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友78bd6eae2
2011-01-19 · TA获得超过658个赞
知道小有建树答主
回答量:464
采纳率:0%
帮助的人:600万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式