字符串到字节[],反之亦然? [复制]

Posted

技术标签:

【中文标题】字符串到字节[],反之亦然? [复制]【英文标题】:String to byte[] and vice versa? [duplicate] 【发布时间】:2011-05-18 03:35:42 【问题描述】:

可能重复:.NET String to byte Array C#

如何将 String 转换为 byte[] 数组,反之亦然?我需要将字符串存储在一些二进制存储中。请在两个方向显示示例。还有一件事:每个字符串可能大于 90Kb。

【问题讨论】:

该问题有一个相当误导的公认答案,具体取决于运行时序列化输出的行为,这肯定不是跨语言兼容的。因此,我不会投票关闭作为副本。使用适当的编码,如 UTF-8,是一种更好的方法。 @cdhowie:同意。 “相当误导”是一种礼貌的表达方式。 :) 大概这就是为什么下面有更高票数的更好答案的原因。 【参考方案1】:

如果你想使用 UTF-8 编码:

// string to byte[]
byte[] bytes = Encoding.UTF8.GetBytes(someString);

// byte[] to string
string anotherString = Encoding.UTF8.GetString(bytes);

【讨论】:

【参考方案2】:

在您开始使用某人已经给出的示例之前,您应该知道,通常,字符串和字节序列之间没有唯一的映射。字符串如何映射到二进制(反之亦然)由您使用的encoding 决定。 Joel Spolsky 就此主题写了一封awesome article。

当解码二进制以获取字符串时,您需要使用与最初生成二进制时相同的编码,否则会遇到问题。

【讨论】:

【参考方案3】:

使用Encoding 类。

【讨论】:

1+ 用于链接到文档【参考方案4】:

How do I get a consistent byte representation of strings in C# without manually specifying an encoding?

【讨论】:

以上是关于字符串到字节[],反之亦然? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

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

将 VARIANT 转换为字节,反之亦然? [复制]

字节数组字符串到字节数组? [复制]

将字节转换为 dart 中的位,反之亦然

bytes与str

bytes数据类型