16进制转ascii码 跟itoa和sprintf相似的

yuefy520 2012-05-28 10:57:04
16进制转ascii码 跟itoa和sprintf相似的,不过这两个是10进制的. 我就是想把中文转成16进制输出

比如:"你好" 转成16进制是 \C4\E3\BA\C3
...全文
354 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuefy520 2012-05-28
  • 打赏
  • 举报
回复
我知道.汉字组十进制是大于127的所以不可能是ascii码的.所以换16进制转成ascii输出到文件.哪位高手提供一下思路
ouyh12345 2012-05-28
  • 打赏
  • 举报
回复
16进制和ascii码没关系,ascii字符也有10进制和16进制的表达方式

我就是想把中文转成16进制输出
自己研究一下汉字的组成方式
yuefy520 2012-05-28
  • 打赏
  • 举报
回复
谢谢大家.本人搞定了.使用的是sprintf函数.
Red_angelX 2012-05-28
  • 打赏
  • 举报
回复
看样子是unicode编码 不是ascii
赵4老师 2012-05-28
  • 打赏
  • 举报
回复
char s[]="你好";
char comment[100];
int i,L;
L=strlen(s);
for (i=0;i<L;i++) sprintf(comment+i*3,"\\%02X",(unsigned char)s[i]);
printf("[%s]\n",comment);//[\C4\E3\BA\C3]
yuefy520 2012-05-28
  • 打赏
  • 举报
回复
什么码痴,就是一个菜鸟,呵呵.其实我意思很简单,就是把*.txt文档里面中文全部转成16进制显示.码值是GBK编码值,系统是中文的所以码值也是GBK的, 例如: add name=abc pasword=123456 comment="你好"
变为:
add name=abc password=123456 comment="\C4\E3\BA\C3"
qq120848369 2012-05-28
  • 打赏
  • 举报
回复
有一位码痴。

哪里不懂直说,我贴代码。
ForestDB 2012-05-28
  • 打赏
  • 举报
回复
首先LZ要明白“编码”的概念,不同的编码方法,同一个字符的“码值”是不一样的。LZ举的例子,其实是“你好”的GBK编码值;如果是UNICODE编码,编码值就是“4F60 597D”了。
这个URL(http://bm.kdd.cc/index.asp)可以在线查汉字的各种编码,LZ可以先试试,确定需要什么样的编码,然后再描述好平台和工具,最后我们再来看有什么样的API可以使用。

69,382

社区成员

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

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