我使用SharpPcap在tcpdump中捕获了一个pcap文件。我有以下代码:
byte[] arr = new byte[] { 55, 53, 55, 53 };
string hex = BitConverter.ToString(arr).Replace("-",String.Empty);
//prints the hexvalue 37353735
在wireshark中,这个十六进制值用正确的7575表示(我知道这是正确的,因为这也是我发送的端口)。但是在Visual Studio中,我还没有找到如何将此十六进制值转换为正确的7575.使用
int decAgain = int.Parse(hex, System.Globalization.NumberStyles.HexNumber);
或使用
EndianBitConverter.Big.ToInt16(arr,0);
似乎不起作用。
有什么想法吗?
答案 0 :(得分:1)
var s = Encoding.Default.GetString(arr).Replace("-", string.Empty);
编辑:您试图将字节解析为十六进制,但它们实际上代表字符(例如,查看ASCII表)。