十六进制值未按 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);

似乎不起作用。

有什么想法吗?

十六进制值未按 C# 中的预期表示

var s = Encoding.Default.GetString(arr).Replace("-", string.Empty);

编辑:您尝试将字节解析为十六进制,但它们实际上表示字符(例如,请查看ASCII表)。