从字节数组转换为字符串十六进制c# [重复]

Posted

技术标签:

【中文标题】从字节数组转换为字符串十六进制c# [重复]【英文标题】:Convert from byte array to string hex c# [duplicate] 【发布时间】:2013-04-24 09:52:06 【问题描述】:

假设我有字节数组。

byte[] a = new byte[] 0x33,0x43,0xFE;

我想把它转换成string

 string str = convert(a);  

我的 str 应该是这样的:

"33 43 FE"

我该怎么做?

【问题讨论】:

【参考方案1】:

使用位转换器类

 BitConverter.ToString(Bytes);

【讨论】:

【参考方案2】:

您可以使用以下代码:

byte[] a = new byte[]  0x33, 0x43, 0xFE ;
string str = string.Join(" ", a.Select(b => string.Format("0:X2 ", b)));

所以convert 方法可以是

string convert(byte [] a)

    return string.Join(" ", a.Select(b => string.Format("0:X2 ", b)));

X2 用于让每个字节用两个大写十六进制数字表示,如果您只需要一个数字来表示小于 16 的数字,例如 0xA,请使用 0:X,如果您需要小写数字使用0:x 格式。

【讨论】:

以上是关于从字节数组转换为字符串十六进制c# [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Java将字节数组转换为十六进制字节数组[重复]

将字符串转换为十六进制字节数组[重复]

字节数组到十六进制字符数组的转换[重复]

如何将十六进制字符串转换为字节数组? [复制]

C# 和 Java 中的十六进制到字节数组给出不同的结果

从字符串文本框到十六进制 0x 字节 [] c# [重复]