首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

十六进制转换成字符解决办法

2012-04-04 
十六进制转换成字符如 char ch[] { 0xE8, 0x03 }现在要把 ch[0] ch[1] 变成字符串 为E8 03 应怎样

十六进制转换成字符
如 char ch[] = { 0xE8, 0x03 };

现在要把 ch[0] ch[1] 变成字符串 为"E8" "03" 应怎样转换?
 


[解决办法]
举个一个字符的例子:
char c = 0xE8;
char sz[3] = {0};
sz[0] = ((c & 0xF0) >> 4) & 0x0F; //取高四位,最后 & 0x0F是为了防止逻辑右移时自动在前面补充1
sz[1] = (c & 0x0F);//取低四位


[解决办法]
printf("%02X", (unsigned char)ch[0]);
[解决办法]

C/C++ code
char ch[2] = { 0xE8, 0x03 };char chhexstr[2][5];sprintf(chhexstr[0],"0x%02x",(unsigned char)ch[0]);sprintf(chhexstr[1],"0x%02x",(unsigned char)ch[1]);printf("%s,%s\n",chhexstr[0],chhexstr[1]); 

热点排行