在 C# 中有效地将字符串转换为字节数组(不使用编码)[重复]
Posted
技术标签:
【中文标题】在 C# 中有效地将字符串转换为字节数组(不使用编码)[重复]【英文标题】:Efficiently converting a string to a byte array in C# (Not with Encoding) [duplicate] 【发布时间】:2018-09-13 02:03:03 【问题描述】:如何在不对每个元素使用Convert.ToByte()
的情况下将字符串"0100"
转换为byte
数组0,1,0,0
?该字符串只能包含字符 0 到 9。
【问题讨论】:
以下链接应该会有所帮助 1) ***.com/questions/16072709/… 2) ***.com/questions/30545162/… 3) ***.com/questions/6254003/… 4) rextester.com/discussion/HHSUSW47299/… 您是假设字符串中的字符始终是 0-9 范围内的数字,还是始终采用 8 位字符集? @atur 我说不是编码,示例 A 变成 65。字节中只有 0 变成 0。 @JimMischel 是的,对不起,我会编辑这个。 @JP_99 : 几个链接没有编码。此外,查看所有答案,而不仅仅是接受的答案 【参考方案1】:使用 linq
var bytes = "0100".Select(x => (byte)(x - '0')).ToArray();
【讨论】:
bytes
的类型是什么?
我认为这将为您提供int
的数组。如果需要字节数组,则需要将 x - '0'
转换为 byte
。
@EricLippert 你是对的 :)以上是关于在 C# 中有效地将字符串转换为字节数组(不使用编码)[重复]的主要内容,如果未能解决你的问题,请参考以下文章