我正在使用此代码解析输入缓冲区并提取文件名,然后使用文件名加载二进制文件数据。
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)
”用作参数。但两者都返回错误。
如果我将确切的字符串作为参数,实际上是从调试器中的行复制的(如图所示),
它工作正常。
基本上,如果我使用参数它会失败,如果我输入一个字符串就可以了!
奇怪的是我之前没有问题,我错过了什么?