c# - byte[] 到字符串的转换似乎没有按照我想要的方式工作

标签 c# text

我正在尝试显示文本文件中字节数组的内容。

这是我的代码:

        var writer = new System.IO.StreamWriter(Application.StartupPath + @"\B323.txt");
        writer.Write(data.ToString());
        writer.Close();
        writer.Dispose();

数据是一个byte[]数组。

输出是“System.Byte[]”,为什么?

我正在尝试显示这个数组的内容,问题出在哪里?

最佳答案

当您调用仅返回 System.Byte[]byte[].ToString() 时。您打算如何转换字节数组?有多种方法可以将字节转换为字符串。

如果你想把它作为“十六进制转储”,你可以 BitConverter.ToString(byte[]) 这将产生如下输出

5B-3E-5D

这就是你想要的吗?如果您实际上只想将字节写入文件,因为它们已经代表编码文本,那么您应该改用FileStream并写入他们直接。

(其他要点作为旁白:您应该使用 using 语句来处理编写器;您不需要调用 close,因为您已经在处理;File.WriteAllText 是一种更简单的开始方式。)

关于c# - byte[] 到字符串的转换似乎没有按照我想要的方式工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/939344/

相关文章:

c# - .NET,如何确定字段是否已为空

c# - 按值获取字节顺序

c# - 验证数字到小数点后两位的正则表达式

将文本文件中的 double 据复制到 C 中的数组中

python - 如何转义通过用户输入收到的 latex 代码?

c# - 使用 mysql c# 创建安装程序包

c# - 如何使用自己的类来覆盖 Console.WriteLine?

python - 将文本文件中的 float 替换为整数

html - 使文本出现在悬停时

r - R 传奇中的小型大写字母?