在 WPF 中使用十六进制数组在二进制流中自定义换行符
Custom Newline in Binary Stream using Hex Array in WPF
我有一个二进制文件,我正在阅读并打印到文本框中,同时在设定点换行,但它在不应该换行的地方换行。我想忽略所有换行符,除了我定义的那些。
没有一个换行符字节,而是一系列的换行符。我想我发现了一系列十六进制值 00-01-01-0B
,它们似乎与换行符的位置相对应。
如何忽略现有的换行符并使用我想要的换行符?
这是我所在的位置:
shortFile = new FileStream(@"tempfile.dat", FileMode.Open, FileAccess.Read);
DisplayArea.Text = "";
byte[] block = new byte[1000];
shortFile.Position = 0;
while (shortFile.Read(block, 0, 1000) > 0)
{
string trimmedText = System.Text.Encoding.Default.GetString(block);
DisplayArea.Text += trimmedText + "\n";
}
我在 dlatikay 发帖前几分钟才弄明白,但真的很高兴看到他也有正确的想法。我只是用空格替换了所有控制字符。
for (int i = 0; i < block.Length; i++)
{
if (block[i] < 32)
{
block[i] = 0x20;
}
}
我有一个二进制文件,我正在阅读并打印到文本框中,同时在设定点换行,但它在不应该换行的地方换行。我想忽略所有换行符,除了我定义的那些。
没有一个换行符字节,而是一系列的换行符。我想我发现了一系列十六进制值 00-01-01-0B
,它们似乎与换行符的位置相对应。
如何忽略现有的换行符并使用我想要的换行符?
这是我所在的位置:
shortFile = new FileStream(@"tempfile.dat", FileMode.Open, FileAccess.Read);
DisplayArea.Text = "";
byte[] block = new byte[1000];
shortFile.Position = 0;
while (shortFile.Read(block, 0, 1000) > 0)
{
string trimmedText = System.Text.Encoding.Default.GetString(block);
DisplayArea.Text += trimmedText + "\n";
}
我在 dlatikay 发帖前几分钟才弄明白,但真的很高兴看到他也有正确的想法。我只是用空格替换了所有控制字符。
for (int i = 0; i < block.Length; i++)
{
if (block[i] < 32)
{
block[i] = 0x20;
}
}