关于C#:String to byte[] ,反之亦然?

String to byte[] and vice versa?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
.NET String to byte Array C#

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


如果要使用UTF-8编码:

1
2
3
4
5
// string to byte[]
byte[] bytes = Encoding.UTF8.GetBytes(someString);

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

在您开始使用某人已经给出的示例之前,您应该知道,一般来说,字符串和字节序列之间没有唯一的映射。字符串映射到二进制(反之亦然)的方式由所使用的编码决定。乔尔·斯波斯基就这个问题写了一篇很棒的文章。

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


使用Encoding类。


如何在不手动指定编码的情况下获得C中字符串的一致字节表示?