Отображение необработанных данных из файла изображения с использованием TextBox или RichTextBox?
Моя программа читает файл изображения DDS и сохраняет его в виде байтового массива. Я хочу показать пользователям необработанные данные в форме TextBox, поэтому сначала я преобразовываю байтовый массив в строку, используя следующий код:
string data = System.Text.Encoding.ASCII.GetString(bytes);
Затем я устанавливаю текст TextBox:
textBox.Text = data;
У меня проблема в том, что в текстовом поле отображаются не все данные. Вот скриншот того, как это выглядит:
Как видите, отображаются только первые несколько символов. Я предполагаю, что это потому, что строка содержит нулевой терминатор, который TextBox интерпретирует как конец строки. Вот копия вставки первых 50 или около того символов в строке, которые я скопировал непосредственно из окна просмотра отладчика:
DDS | \ 0 \ 0 \ 0 \ a \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ Как видите, первый нулевой символ появляется сразу после «DDS |» что объясняет, почему это все, что отображается в TextBox.
То, что я хочу отображать, похоже на то, что вы видите, если редактируете необработанный файл DDS с помощью текстового редактора, такого как Notepadd ++.
Открытие файла DDS в Notepad ++ приводит к следующему:
У меня вопрос, как мне заставить мой TextBox (или RichTextBox) отображать данные так же, как это показывает Notepad ++?
Вы пытались использовать функцию String.Replace, чтобы поменять нулевые символы на что-то еще?