C# 字节数组到字符串,反之亦然

标签 c#

我有一些 C++ 代码可以通过 STL 字符串和文本 i/o 将字节值保存到文件中,我对如何在 C# 中执行此操作感到困惑。

首先我将字节数组转换为字符串并将每个字符串作为一行存储在文本文件中:

 StreamWriter F
 loop
 {
   byte[] B;       // array of byte values from 0-255 (but never LF,CR or EOF)
   string S = B;   // I'd like to do this assignment in C# (encoding? ugh.) (*)
   F.WriteLine(S); // and store the byte values into a text file
 }

稍后...我想反转步骤并取回原始字节值:

  StreamReader F;   
  loop
  {
    string S = F.ReadLine();   // read that line back from the file
    byte[] B = S;              // I'd like to convert back to byte array (*)
  }

您如何完成这些作业 (*)?

最佳答案

Encoding支持你所需要的,下面的例子假设你需要使用 UTF8string 转换为 byte[] ,反之亦然:

string S = Encoding.UTF8.GetString(B);
byte[] B = Encoding.UTF8.GetBytes(S);

如果您需要使用其他编码,您可以轻松更改:

Encoding.Unicode
Encoding.ASCII
...

关于C# 字节数组到字符串,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18306104/

相关文章:

c# - 确定 Regex 对象是否只接受大写字符

c# - 如何在运行时传递类型的 C# 中调用私有(private)泛型方法

c# - 使用 Rfc2898DeriveBytes 将 C# PBKDF2 转换为 PHP

c# - 无法重命名 Visual Studio 2010 项目

c# - 如何从 WPF 应用程序线程显示 WinForms 模式对话框

c# - 在特定 OU Active Directory 中搜索用户

c# - 使用扩展方法修改字符串实例变量

c# - 是否可以通过没有标题行的 ADO.NET 访问 Excel 文件?

c# - listBox.ItemContainerGenerator.ContainerFromItem为null

c# - CaSTLe Windsor - 一个接口(interface)的多重实现