十六进制值未按 C# 中的预期表示
本文关键字:表示 十六进制 | 更新日期: 2023-09-27 18:32:22
我用tcpdump和SharpPcap捕获了一个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);
似乎不起作用。
有什么想法吗?
var s = Encoding.Default.GetString(arr).Replace("-", string.Empty);
编辑:您尝试将字节解析为十六进制,但它们实际上表示字符(例如,请查看ASCII表)。