c# - 将 ByteArray 转换为 String 以在 TextBox c# 中使用

标签 c# arrays string type-conversion

是的,我已经阅读了大约 5 个小时的解决方案,但没有一个有效。 BitConverter 只是创建一个空白字符串。

基本上我正在做的是尝试创建一个关卡阅读器,它将通过十六进制读取关卡内容并最终将其显示在 TreeView 中。所以我要做的第一件事就是制作一个字节数组,我可以在其中编辑数据,我已经做到了。 但是,现在我想在屏幕上显示数据。据我所知,您无法在屏幕上显示字节数组,您必须先将其转换为字符串。

这就是我想要做的:

        using (OpenFileDialog fileDialog = new OpenFileDialog())
        {
            if (fileDialog.ShowDialog() != DialogResult.Cancel)
            {
                textBox1.Text = fileDialog.FileName;
                using (BinaryReader fileBytes = new BinaryReader(new MemoryStream(File.ReadAllBytes(textBox1.Text))))
                {
                    string s = null;
                    int length = (int)fileBytes.BaseStream.Length;
                    byte[] hex = fileBytes.ReadBytes(length);
                    File.WriteAllBytes(@"c:\temp_file.txt", hex);
                }
            }
        }
    }

注意:我已经删除了我的转换尝试,因为我没有尝试过。 有谁知道我如何使用这些数据并将其转换为字符串,并将其添加到文本框? (当然,我知道如何做后者。我遇到困难的是前者。) 如果是,请提供示例。

我可能应该让自己更清楚;我不想将字节转换为相应的字符(即,如果它是 0x43,我不想打印“C”。我想打印“43”。

最佳答案

您可以将数据转换为十六进制:

  StringBuilder hex = new StringBuilder(theArray.Length * 2);
  foreach (byte b in theArray)
    hex.AppendFormat("{0:x2}", b);
  return hex.ToString();

关于c# - 将 ByteArray 转换为 String 以在 TextBox c# 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12365501/

相关文章:

string - 接受任何类型的字符串并将其视为不可变字符串并生成新的不可变字符串的 Rust 方法?

c# - 如何连续监听 ASP.NET Core 应用程序中的 Pub/Sub 消息?

javascript - 如何在React Native中创建具有x y坐标的动态数组

c# - 使用 Linq 同时查询两个集合

java - 调用方法时有关参数的错误

python - 如何从元素列表开始进行回归

php - 从变量中去掉 "-"

ruby - 我总是在使用 Mechanize 的 UTF-8 错误中得到一个无效的字节序列

c# - 如何跨不同的编程语言共享业务概念?

c# - 无法删除由 SharpZipLib (FastZip) 创建的 Zip 文件