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 :
내가 UTF8 유니 코드를 변경하려면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
, 누군가가 조언 해결책을 가지고 있습니까?