可能重复:
How do you convert Byte Array to Hexadecimal String, and vice versa?
我有一个List,我需要将其转换为十六进制字符串。我觉得我转换的方式很长很安静。
List<byte> TRIGGER_POL = Data.GetRange(23, 1);
byte[] TRIGGER_POL_temp = new byte[TRIGGER_POL.Count];
TRIGGER_POL_temp[0] = TRIGGER_POL[0];
string TRIGGER_POL_hx = BitConverter.ToString(TRIGGER_POL_temp, 0).Replace("-", string.Empty);
有更快,更有效的方法吗?
谢谢..
答案 0 :(得分:2)
我个人喜欢这样做的方法是深入.NET SoapHexBinary
中的一个鲜为人知的类byte[] tmp1 = SoapHexBinary.Parse("DEADBEEF"); //tmp1 now equals the array {0xDE, 0xAD, 0xBE, 0xEF}
string tmp2 = new SoapHexBinary(tmp1).ToString(); //tmp2 now equals "DEADBEEF"
答案 1 :(得分:1)
有很多方法可以做到这一点,但这个可能适合你
List<string> hexStrings = TRIGGER_POL.Select(b => BitConverter.ToString(new byte[]{b})).ToList();
或者如果你只需要1个字符串
string hex = BitConverter.ToString(TRIGGER_POL.ToArray());
答案 2 :(得分:1)
试试这个:
public static string ConvertToHex(byte[] bytes)
{
SoapHexBinary hexBin = new SoapHexBinary(bytes);
return hexBin.ToString();
}
return ConvertToHex(TRIGGER_POL.ToArray());