字符串中16进制的表示。。

nanbazhangbiao 2011-08-19 02:21:07
我在从url编码中得到字符串:%D5%D5%C6%AC;
用16进制来表示则是:D5 D5 C6 AC,表示汉字:照片这两个字。
我用char *p=“D5D5C6AC”,然后将p字符串转换成utf-8;

为什么转成后还是“D5D5C6AC”啊。。
用char *p来表示这个十六进制串的时候该怎么表示?
...全文
523 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mymtom 2011-08-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 nanbazhangbiao 的回复:]

我的感觉是不是要把D5D5C6AC变成:\xD5\xD5\xC6\xAC?
不然我进行从gb2312到utf-8的时候,他不知道这个格式?
[/Quote]
是的。
char *p= "D5D5C6AC" 的UTF-8和GB2312是相同的。

URL编码转换推荐使用libcurl的两个函数

char *curl_easy_unescape( CURL * curl , char * url , int inlength , int * outlength );
char *curl_easy_escape( CURL * curl , char * url , int length );
justkk 2011-08-21
  • 打赏
  • 举报
回复
char s[]={0xD5, 0xD5, 0xC6, 0xAC};
这样呢?
nanbazhangbiao 2011-08-19
  • 打赏
  • 举报
回复
就是把那个十六进制字符串从unicode到utf-8。。。
naiter 2011-08-19
  • 打赏
  • 举报
回复
这个我不懂, 不好意思啊
nanbazhangbiao 2011-08-19
  • 打赏
  • 举报
回复
我的感觉是不是要把D5D5C6AC变成:\xD5\xD5\xC6\xAC?
不然我进行从gb2312到utf-8的时候,他不知道这个格式?
braveyly 2011-08-19
  • 打赏
  • 举报
回复
不明白需求,是unicode<->utf8, 还是字符串的hex显示?

23,114

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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