Richtextbox没有显示整个字符串vb.net

时间:2016-04-30 22:44:33

标签: vb.net string richtextbox

我的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"

我从来没有遇到过这种问题,通过了吗?

1 个答案:

答案 0 :(得分:1)

这是因为您的输入包含值为0的字节 此字节将添加到数组中,然后转换为字符串。 但是值为0的字节被RichTextbox视为字符串的结尾。

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