char *字符串转为16进制数据存到unsigned char[]中的问题!

龙哥依旧 2012-04-12 10:59:39
如:
char *pstr = "1234";
存入到
unsigned char hex[4];
hex[0] = 31;
hex[1] = 32;
hex[2] = 33;
hex[3] = 34;

还需要再转过来!
...全文
437 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙哥依旧 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

楼主,这个不需要转吧,本来存在内存中就是 16进制的你想要的数吧。
[/Quote]
恩,char * 到unsigned char *强制转换就可以,但别人给我传过来的是16进制表示的字符串,还得转成正常的字符串,这个字符串加过密,显示会是乱码。
http://topic.csdn.net/t/20040609/08/3075601.html
自己搜索到了!
hen_hao_ji 2012-04-12
  • 打赏
  • 举报
回复
楼主,这个不需要转吧,本来存在内存中就是 16进制的你想要的数吧。
龙哥依旧 2012-04-12
  • 打赏
  • 举报
回复
我是调用rsa的加解密函数,参数需要unsigned char *类型的,我要加密的是"12345"这个字符串。
rsa的例子加密的是
unsigned char plaintext[24];
memcpy(plaintext, "\xAA\xBB\xCC\xDD\xAA\xBB\xCC\xDD\xAA\xBB\xCC\xDD\xAA\xBB\xCC\xDD\xAA\xBB\xCC\xDD\xAA\xBB\xCC\xDD", 24);
然后加密解密
wh0721 2012-04-12
  • 打赏
  • 举报
回复
unsigned char hex[4];
char *pstr = "1234";
memcpy(hex,pstr,sizeof(hex));



unsigned char hex[]="1234";
char *pstr = malloc(sizeof(hex));
memcpy(pstr,hex,sizeof(hex));

64,678

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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