wordpress导出网站,太原网站建设质量推荐,互联网下载安装,网站的宣传与推广格式化输出HEX数据
调试过程中通常需要个格式化输出16进制数据#xff0c;为了方便美观可以参考如下方法。
#define __is_print(ch) ((unsigned int)((ch) - ) 127u - )/*** dump_hex* * brief hex打印* * param buf: 需要打印的原始数据* param size: 原始数据类型*…格式化输出HEX数据
调试过程中通常需要个格式化输出16进制数据为了方便美观可以参考如下方法。
#define __is_print(ch) ((unsigned int)((ch) - ) 127u - )/*** dump_hex* * brief hex打印* * param buf: 需要打印的原始数据* param size: 原始数据类型* param number: 原始数据类型的长度* * return void
*/
void dump_hex(const uint8_t *buf, uint32_t size, uint32_t number)
{int i, j;for (i 0; i size; i number){printf(%08X: , i);for (j 0; j number; j){if (j % 8 0){printf( );}if (i j size)printf(%02X , buf[i j]);elseprintf( );}printf( );for (j 0; j number; j){if (i j size){printf(%c, __is_print(buf[i j]) ? buf[i j] : .);}}printf(\n);}
}实际测试效果
00000000: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ................
00000010: 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F ................
00000020: 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F !#$%()*,-./
00000030: 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 0123456789:;?
00000040: 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F ABCDEFGHIJKLMNO
00000050: 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F PQRSTUVWXYZ[\]^_
00000060: 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F abcdefghijklmno
00000070: 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F pqrstuvwxyz{|}~.