是的,我已经阅读了大约 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/