1
嗯,其實我在我的代碼中使用此:計算UTF8 readpos
Public Sub WriteString(ByVal Input As String)
Buff.AddRange(BitConverter.GetBytes(Input.Length))
Buff.AddRange(Encoding.Unicode.GetBytes(Input))
End Sub
Public Function ReadString(Optional ByVal Peek As Boolean = True) As String
Dim Len As Integer = ReadInteger(True) * 2
Dim ret As String = Encoding.Unicode.GetString(Buff.ToArray, readpos, Len)
If Peek And Buff.Count > readpos Then
If ret.Length > 0 Then
readpos += Len
End If
End If
Return ret
End Function
功能ReadInteger:
Public Function ReadInteger(Optional ByVal peek As Boolean = True) As Integer
If Buff.Count > readpos Then 'check to see if this passes the byte count
Dim ret As Integer = BitConverter.ToInt32(Buff.ToArray, readpos)
If peek And Buff.Count > readpos Then
readpos += 4
End If
Return ret
Else
Throw New Exception("Byte Buffer Past Limit!") 'past byte count throw a new exception
End If
End Function
我想的Unicode更改爲UTF-8,任何人有提示或解決方案?