我创建了一个类来编码一个字符串
Public Class UTF8
Public Shared Function encode(ByVal str As String)
Dim utf8Encoding As New System.Text.UTF8Encoding
Dim encodedString() As Byte
encodedString = utf8Encoding.GetBytes(str)
Return encodedString.ToString()
End Function
End ClassReturn encodedString.ToString()总是返回"System.Byte[]“。我怎样才能得到真正的UTF-8字符串?
发布于 2011-05-18 02:32:24
使用UTF8.GetString(Byte[])方法。
发布于 2011-06-27 05:56:38
我们可以通过检查字符串的BOM值来检查字符串是否为UTF-8。下面是正确的代码示例:
Public Shared Function encode(ByVal str As String) As String
'supply True as the construction parameter to indicate
'that you wanted the class to emit BOM (Byte Order Mark)
'NOTE: this BOM value is the indicator of a UTF-8 string
Dim utf8Encoding As New System.Text.UTF8Encoding(True)
Dim encodedString() As Byte
encodedString = utf8Encoding.GetBytes(str)
Return utf8Encoding.GetString(encodedString)
End Function发布于 2022-02-19 21:21:56
Public Class Form1
Private Sub BtnClearText_Click(sender As Object, e As EventArgs) Handles BtnClearText.Click
TxtEncodedValue.Text = ""
TxtNormalValue.Text = ""
End Sub
Private Sub BtnEncode_Click(sender As Object, e As EventArgs) Handles BtnEncode.Click
Dim byt As Byte() = System.Text.Encoding.UTF8.GetBytes(TxtNormalValue.Text)
TxtEncodedValue.Text = Convert.ToBase64String(byt)
End Sub
Private Sub BtnDecode_Click(sender As Object, e As EventArgs) Handles BtnDecode.Click
Dim b As Byte() = Convert.FromBase64String(TxtEncodedValue.Text)
TxtNormalValue.Text = System.Text.Encoding.UTF8.GetString(b)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
End Classhttps://stackoverflow.com/questions/6035380
复制相似问题