gpt4 book ai didi

c# - 使用 TextBox 或 RichTextBox 显示图像文件中的原始数据?

转载 作者:太空宇宙 更新时间:2023-11-03 11:01:59 24 4
gpt4 key购买 nike

我的程序读取 DDS 图像文件并将其存储为字节数组。我希望能够以 TextBox 形式向用户显示原始数据,因此首先我使用以下代码将字节数组转换为字符串:

string data = System.Text.Encoding.ASCII.GetString(bytes);

然后我设置 TextBox 文本:

textBox.Text = data;

我遇到的问题是文本框没有显示所有数据。这是它的外观截图:

TextBox view

如您所见,仅显示前几个字符。我假设这是因为字符串包含一个空终止符,TextBox 将其解释为字符串的结尾。这是我直接从调试器监 window 口复制的字符串中前 50 个左右字符的复制粘贴:

DDS |\0\0\0\a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\

如您所见,第一个空字符紧跟在“DDS |”之后这解释了为什么这就是 TextBox 中显示的所有内容。

我想要显示的内容与您使用文本编辑器(如 Notepadd++)编辑原始 DDS 文件所看到的内容类似。

在 Notepad++ 中打开 DDS 文件会产生以下内容:

Notepad++ view

我的问题是,如何让我的 TextBox(或 RichTextBox)以与 Notepad++ 相同的方式显示数据?

最佳答案

最简单的解决方案是使用这个:

textbox.Text = data.Replace("\0", @"\0");

这将强制文本框实际显示一个反斜杠,后跟一个零,即空值所在的位置。或者,您可以将空值替换为其他一些字符或字符串。

关于c# - 使用 TextBox 或 RichTextBox 显示图像文件中的原始数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17352442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com