vb.net - кодирует строку в UTF-8 - PullRequest
2 голосов
/ 17 мая 2011

Я создал класс для кодирования строки

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 Class

Return encodedString.ToString () всегда возвращает "System.Byte []".Как я мог получить настоящую строку UTF-8?

Ответы [ 2 ]

4 голосов
/ 17 мая 2011

Использовать UTF8.GetString (Byte []) метод.

2 голосов
/ 27 июня 2011

Мы можем проверить, является ли строка 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
...