求助,将报文的十六进制转化成转义符
将 00 30 00 01 23 29 05 50转化为下面的这种格式:"\x00" "0" "\x00\x01" "#)" "\x05" "P"
问了好多人都不会
--------------------编程问答-------------------- 规则不明确 --------------------编程问答-------------------- 将 00 30 00 01 23 29 05 50 转化为下面的这种格式:
\x00 0 \x00 \x01 # ) \x05 P
这样看,规则明确了吧,下面这一行好像是C里的转义符吧 --------------------编程问答-------------------- 00 对应 \x00
30 对应 0
01 对应 \X01
23 对应 #
29 对应 ) --------------------编程问答-------------------- 29 是十进制还是十六? --------------------编程问答-------------------- 如果是固定的位置。那你自己不写出来了么?
byte[] data = new byte[]{0x00,0x30,0x01,0x23,0x29};
直接转换对应的char就可以了。
char[] cdata = new char[data.Length];
for(int i=0;i<data.Length;i++)
{
cdata[i] = (char)data;
}
你的原本就是没任何转换,直接类型转字符就行。 --------------------编程问答-------------------- 左边都是16进制的 就是用抓包工具抓到的数据 --------------------编程问答--------------------
--------------------编程问答-------------------- 抓的包 有很多数据的 能保存成文本,如果一行行的转的话要转很久,能不能把文本里的数据一次性的转换。
Console.WriteLine((char)Convert.ToByte("00", 16));
Console.WriteLine((char)Convert.ToByte("30", 16));
Console.WriteLine((char)Convert.ToByte("01", 16));
Console.WriteLine((char)Convert.ToByte("23", 16));
Console.WriteLine((char)Convert.ToByte("29",16));
文本像这样的
58.248.240.208:2800->192.168.1.43:2968
Time 11:11:13:921
0000: B8 AC 6F C3 1D 96 00 0F 7A 14 04 EC 08 00 45 00 ..o.....z.....E.
0010: 00 28 00 00 40 00 40 06 4D 34 3A F8 F0 D0 C0 A8 .(..@.@.M4:.....
0020: 01 2B 0A F0 0B 98 30 E4 F1 BE 00 00 00 00 50 04 .+....0.......P.
0030: 00 00 89 19 00 00 00 00 00 00 00 00 ............
192.168.1.43:2968->58.248.240.208:2800
Time 11:11:13:890
0000: 00 0F 7A 14 04 EC B8 AC 6F C3 1D 96 08 00 45 00 ..z.....o.....E.
0010: 00 30 C6 03 40 00 80 06 47 28 C0 A8 01 2B 3A F8 .0..@...G(...+:.
0020: F0 D0 0B 98 0A F0 1C BE 5A CB 00 00 00 00 70 02 ........Z.....p.
0030: FF FF 07 72 00 00 02 04 05 B4 01 01 04 02 ...r..........
58.248.240.208:2800->192.168.1.43:2968
Time 11:11:13:890
0000: B8 AC 6F C3 1D 96 00 0F 7A 14 04 EC 08 00 45 00 ..o.....z.....E.
0010: 00 30 00 00 40 00 40 06 4D 2C 3A F8 F0 D0 C0 A8 .0..@.@.M,:.....
0020: 01 2B 0A F0 0B 98 30 E4 F1 BC 1C BE 5A CC 70 12 .+....0.....Z.p.
0030: 16 D0 CD EF 00 00 02 04 05 B4 01 01 04 02 .............. --------------------编程问答-------------------- 中间的是 十六进制 右边是acsii码 --------------------编程问答-------------------- 用LoadRunner里的EBCDIC转码 可以把/X00 转化成00 但反过来就不能转化,我就是想反过来转化
补充:.NET技术 , C#