0

我正在使用此代码解析输入缓冲区并提取文件名,然后使用文件名加载二进制文件数据。

    Public Sub Rx1Parse(State As Byte)
        If State = 0 Then
        Dim FnameBuf As String
        'Process Size command
        Dim Input_Str As String = System.Text.Encoding.UTF8.GetString(StrBufferEntrada)
        Dim Start = InStr(1, Input_Str, ":")
        FnameBuf = Input_Str.Substring(Start)
        Dim bytes = My.Computer.FileSystem.ReadAllBytes(Input_Str.Substring(Start))
        State = 1
    ElseIf State = 1 Then
        'Process Send command
    End If
    End Sub

第 5 行将字节缓冲区转换为字符串
。第 6 行查找文件名的开头,
第 7 行提取文件名。

提取文件名示例

如您所见,我尝试将FnameBuf其用作 ReadAllBytes 的参数,并将
Input_Str.Substring(Start)”用作参数。但两者都返回错误。
如果我将确切的字符串作为参数,实际上是从调试器中的行复制的(如图所示),
它工作正常。

基本上,如果我使用参数它会失败,如果我输入一个字符串就可以了!

奇怪的是我之前没有问题,我错过了什么?

4

0 回答 0