#c# #winforms
#c# #winforms
Вопрос:
Я хочу отобразить содержимое bbbb.txt файл в шестнадцатеричном формате richTextBox2
.
case 0:
{
groupBox3.Enabled =false;
label3.Enabled = false;
label4.Enabled = false;
btn_CompareRec.Enabled = false;
btn_CompareRef.Enabled = false;
byte[] mybytes = File.ReadAllBytes("C:\bbbb.txt");
string bb = "";
int i = 0;
int numBytesToRead = 200;
while (numBytesToRead > 0)
{
if (mybytes[i].ToString("X") != "20")
{
bb = bb mybytes[i].ToString("X") "";
// bb.PadLeft(10, '-');
}
i = i 1;
numBytesToRead = numBytesToRead - 1;
}
richTextBox2.Text = bb;
}
Он отображается внутри текстового поля, но как мне отобразить его в табличном формате? (как и в любом шестнадцатеричном редакторе)
Комментарии:
1. Используйте шрифт фиксированной ширины ( en.wikipedia.org/wiki/Monospaced_font )
2. Вы хотите, чтобы они были табличными для каждого «пробела» и «Новой строки»? Если да, то какой будет максимальная длина для одного слова?
3. Митч, это хорошо, но помоги мне внедрить это в мой код.
4. 0.00 1.00000000 0.00 1.00000000 0.10 1.10517092 0.00 1.00000000 0.10 1.10517092 0.00 1.00000000 шестнадцатеричные данные должны быть в таком же формате, как и базовые адреса
5. @rocky: вы должны добавить форматированный пример того, чего вы пытаетесь достичь в своем вопросе. «Хорошо выровненный» формат на самом деле не слишком специфичен.
Ответ №1:
Попробуйте это;
Добавьте else
часть в условие If
if (mybytes[i].ToString("X") != "20")
{
bb = bb mybytes[i].ToString("X");
}
else
{
//EDIT
bb .PadLeft(8, '0'); // considering 64 will be maxsize
bb = bb " ";
}
Комментарии:
1. привет, это работает, но мне нужно добавить дополнительные настройки
2. означает, что я должен добавить отступы между каждым символом, он должен отображаться так с равным расстоянием — 000012 00002F 00023 00004D
3. вы поймете лучше, если увидите эту ссылку home.gna.org/bless/bless-manual/ch05s03.html смотрите стандартное представление смещения в шестнадцатеричном формате ASCII
4. Известно ли вам количество максимальных непрерывных байтов между двумя пробелами?
5. Предположим, если мы выберем 5 как максимум, то оно должно быть одинаковым до конца. Таким образом, мы можем выбрать любое максимальное значение, но оно должно быть одинаковым до конца.