将一个BYTE数组转换成16进制字符串和10进制字符串格式
2011-12-06 11:04
411 查看
背景:
unsigned char port[5];
以02x的格式打印出来是 00 00 02 00 00
1.如何转成16进制形式的字符串,使得char *strport16 = "0000020000";
2.如何转成10进制形式的字符串,使得char *strport10 = "131072";
C code:
运行结果:
结论:整数的高位字节保存在高地址处,而且局部变量是保存在栈区的,在内存中的情况如图:
unsigned char port[5];
以02x的格式打印出来是 00 00 02 00 00
1.如何转成16进制形式的字符串,使得char *strport16 = "0000020000";
2.如何转成10进制形式的字符串,使得char *strport10 = "131072";
C code:
#include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { unsigned char port[5] = {0x00, 0x00, 0x02, 0x00, 0x00}; char buf[20] = {0}; // format port[] to hex result sprintf(buf, "%02x%02x%02x%02x%02x", port[0], port[1], port[2], port[3], port[4]); printf("十六进制:\t%s\n", buf); // format port[] to decimal result __int64 a = 0; memcpy(&a, port, sizeof(port)); // ensure the length of port[] is less than or equal to 8 sprintf(buf, "%I64d\n", a); // format an integer of 64bit length printf("十进制:\t\t%s\n", buf); __int64 bb = 0x1122334455667788; unsigned char *p = (unsigned char*)&bb; printf("bb = 0x%I64x\n", bb); for(int i = 0; i < sizeof(bb); i++) { printf("%02x ", p[i]); // high part bytes store at high memory address } printf("\n"); return 0; }
运行结果:
十六进制: 0000020000 十进制: 131072 bb = 0x1122334455667788 88 77 66 55 44 33 22 11 Press any key to continue
结论:整数的高位字节保存在高地址处,而且局部变量是保存在栈区的,在内存中的情况如图:
相关文章推荐
- 汉字字符串转换成十六进制byte数组,一个汉字存到两个byte里面,大整数存到两个byte里面
- 使用Java完成byte数组与十六进制字符串相互转换
- json对象、json格式字符串、java对象【使用此net.sf.json.JSONObject将java对象[比如数组集合Map、Map扩展]转换成json格式字符串】
- 字符串string和内存流MemoryStream及比特数组byte[]互转比转换
- 才疏学浅,见识到一个没见过的数组转换类型方式(byte[] -> sbyte[]),特此拜祭一下。
- 把数组转换为一个用逗号分隔的字符串
- java里面byte数组和String字符串怎么转换
- 黑马程序员_学习日记40_605基础加强(自定义泛型、装拆箱、foreach、文件操作、字符串与byte数组转换)
- 使用JSONKit将字符串,字典,数组转换成json格式
- 有一个整数数组,请声明一个字符串数组,将整数数组中的每一个元素的值转换为字符串保存到字符串数组中
- 将byte数组转换成对应的十六进制的字符串形式
- c#初学-byte数组转换为字符串
- 将字节数组转换为十六进制值字符串时 Byte 的用法
- IOS 如何把一个字典格式的字符串转换成字典
- 二进制byte[]数组转换成对应十六进制字符串
- 如何把一个json格式的字符串转换成json,并获取他的节点值
- 将一个浮点数,转换为指定格式的字符串
- C++中sprintf实现将一个基本数据类型的数组转换成字符串
- VC二进制byte数组转换成对应字符串
- 3.有一个整数数组,请声明一个字符串数组,将整数数组中的每一个元素的值转换为字符串保存到字符串数组中