Richtextbox 未显示整个字符串 vb.net

Richtextbox not showing entire string vb.net

我的 richtextbox 没有显示字符串的完整长度(我不知道为什么!)。我有一个 richtextbox,其中显示了一个字节数组和这些字节的 ascii 编码;

    Dim rt1 As String
    Dim rt2 As String

    Dim num1 As Integer = filedata.headerBytes.GetLength(0) - 1 - 4
    For i = 0 To num1 Step 4
        Dim temp1 As String = ""
        Dim temp2 As String = ""
        Dim b1(3) As Byte
        Dim b2(3) As Byte
        For j = 0 To 3
            b1(j) = filedata.headerBytes(i + j)
            b2(j) = filedata.rawInput(i + j)
            temp1 = temp1 & filedata.headerBytes(i + j) & " "
            temp2 = temp2 & filedata.rawInput(i + j) & " "
        Next
        rt1 = rt1 & (temp1 & "    " & System.Text.Encoding.ASCII.GetString(b1.ToArray) & Chr(13))
        rt2 = rt2 & (temp2 & "    " & System.Text.Encoding.ASCII.GetString(b2.ToArray) & Chr(13))
    Next
    RichTextBox1.Text = rt1
    RichTextBox2.Text = rt2

我试过将 rt1 和 rt2 更改为字符串构建器(并修改代码以考虑到这一点),但我遇到了同样的问题。这是创建的字符串示例;

"82 73 70 70     RIFF" & vbCr & "178 141 49 0     ??1 " & vbCr & "87 65 86 69     WAVE" & vbCr & "102 109 116 32     fmt " & vbCr &...

这里是 richtextbox 显示的地方;

"82 73 70 70     RIFF" & vbLf & "178 141 49 0     ??1"

我从来没有运行遇到过这种问题,有什么想法吗?

发生这种情况是因为您的输入包含一个值为 0 的字节。
该字节被添加到您的数组中,然后转换为字符串。 但是 RichTextbox 将值为 0 的字节视为字符串的结尾。

我能想到的唯一可能的解决方法是检查零值并将其转换为可以显示的内容。