如何使用 XmlConvert 类将 byte[] 转换为字符串? [复制]

Posted

技术标签:

【中文标题】如何使用 XmlConvert 类将 byte[] 转换为字符串? [复制]【英文标题】:How to convert byte[] to string using XmlConvert class? [duplicate] 【发布时间】:2019-07-02 09:23:59 【问题描述】:

我有一个使用 XmlConvert 将相关数据类型数据转换为字符串的类。现在XmlConvert 有方法 ToString 将 int、decimal、byte 数据转换为字符串,但它的重载没有 byte[]。

public class StringConverter 

   public virtual string ToString(byte[] value) => XmlConvert.ToString(value); //Error

更新:我使用 XmlConvert 类将数据转换为字符串的原因是为了使这个转换区域独立

因为我想使用 XmlConvert 类将字节 [] 转换为独立于语言环境的字符串,所以这不是重复的,因为我已经浏览了下面的几个链接:

How do you convert a byte array to a hexadecimal string, and vice versa?

How to convert UTF-8 byte[] to string?

不能使用XmlConvert类将byte[]转成字符串吗?

【问题讨论】:

@WaiHaLee 我已经检查了这个链接,我正在尝试使用 xmlconvert 类将 byte[] 转换为独立于语言环境的字符串,因此它不是重复的 What every programmer absolutely, positively needs to know about encodings and character sets to work with text 请定义您所说的“区域独立”是什么意思?某些编码对于某些语言环境(由于支持字符集)效果更好,这是编码选择的问题,实际转换(Encoding.GetString()`)是相同的。 【参考方案1】:

为什么使用需要XmlConvert?你试过了吗?

virtual string ToString(byte[] value) => System.Text.Encoding.Default.GetString(value);

【讨论】:

对不起,但我想这会使 byte[] 转换为依赖于字符串区域设置,这是我试图避免使用 XmlConvert 类【参考方案2】:

如果要将字节转换为字符串,则必须使用 some 编码。没有一种万能的编码可以一直有效,因此 XmlConvert 不会为您解决这个问题。

但如今,UTF-8 是事实上的标准,所以如果您不确定使用哪一个,那可能是您最好的选择。

virtual string ToString(byte[] value) => System.Text.Encoding.UTF8.GetString(value);

【讨论】:

这个怎么样:BitConverter.ToString(ba).Replace("-","");在这里给出***.com/questions/311165/… @Learning-Overthinker-Confused 这会将位转换为十六进制字符串。这就是你想要做的吗? 实际上我正在尝试使用数据库中的数据读取器从 sql server 读取 varbinary,binary,image 数据类型类型数据,并且代码中的答案是图像数据类型 byte[] 转换为字符串时抛出错误 @Learning-Overthinker-Confused 我的答案中的行是将表示可读文本的字节数组转换为可读文本字符串。图像是另一回事。如果要将图像表示为字符串,则必须阐明您打算如何表示它们。十六进制? Base64? @Learning-Overthinker-Confused 是的,因为“我想将图像表示为字符串”的要求本身没有意义。您必须弄清楚“将图像表示为字符串”在您的情况下意味着什么。有多种方法可以将二进制值表示为字符串(我列出了其中的两种)。你需要决定你打算在你的情况下使用什么。在您弄清楚您的实际需求是什么之前,这里没有人可以帮助您。

以上是关于如何使用 XmlConvert 类将 byte[] 转换为字符串? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

XmlConvert 和可为空的结果?

Java - byte[] 和 String互相转换

一些基本数据类型的类封装(包装类)

如何使用 iPhone 的 CLLocation 类将纬度和经度分配给变量?

如何通过 COM 类将 PPTX 转换为 PDF?

如何使用GoogleServiceAuthentication类将文件上传到Grails中的google存储?