C#字节数组到字符串数组[重复]

Posted

技术标签:

【中文标题】C#字节数组到字符串数组[重复]【英文标题】:C# byte array to string array [duplicate] 【发布时间】:2017-09-21 06:31:24 【问题描述】:

我想将数组的字符串转换为字节数组,反之亦然

例如。

string[] strArr= new string[]"1","2","3";
Byte[] byteArr= strArr.Select(byte.Parse).ToArray()

现在想再次将其转换回

string [] originalArr= ??? from Byte[]

我试过了

strArr.Select(innerArray => Encoding.UTF8.GetString(innerArray)).ToList();

但不工作

【问题讨论】:

not working 是什么意思? 哇哇,Faktorovich 先生,这不是重复您所指的问题。 这并不是真正的重复 - OP 想知道如何将字符串数组转换为字节数组,然后将字节数组转换回匹配的字符串数组。 在这一行出现错误 byte[] bytes = strings.Select(byte.Parse).ToArray(); 如果我的字符串类似于 "ProductCode":"PP211766","IsItem":"True","IsBPA":"True",则输入字符串的格式不正确 【参考方案1】:

简单地说:

string[] strings = new string[]  "1","2","3" ;
byte[] bytes = strings.Select(byte.Parse).ToArray();
strings = bytes.Select(byteValue => byteValue.ToString()).ToArray();

警告: byte.Parse 如果字符串无法转换为字节,则会抛出运行时异常,例如它不是> 255的数字。可能需要额外的检查才能正确执行。查看byte.TryParsedocumentation。


这只是其中一种方式。您可能还会发现Convert 类非常有用。它有许多静态方法可以将值转换为不同的类型,包括Convert.ToByte(...)Convert.ToString(...)。详情请见MSDN。

【讨论】:

以上是关于C#字节数组到字符串数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中有效地将字符串转换为字节数组(不使用编码)[重复]

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

大字节数组的 C# 程序性能 [重复]

在java中将字符串数组元素转换为字节数组[重复]

C# 字符串到字节数组的速度

字符串到字节数组[重复]