将阿拉伯字符串转换为字节数组



我有一个将字符串转换为字节数组的函数。如果字符串是用英语编写的,则该函数工作正常。但是如果输入字符串是阿拉伯语,则该函数不会返回,并且我收到此错误:

对于无符号字节而言,值太大或太小

Friend Function StringtoByteArray(ByRef value As String) As Byte()
    Dim temp() As Byte
    ReDim temp(Len(value) - 1)
    Dim i As Integer
    For i = 0 To Len(value) - 1 Step 1
        temp(i) = Convert.ToByte(Convert.ToChar(Mid(value, i + 1, 1)))
    Next
    StringtoByteArray = temp
 End Function

我应该更改什么才能将阿拉伯字符转换为字节?

我正在使用 VB.NET。

你不需要为此编写你的函数,这应该可以工作:

Dim b As Byte() = System.Text.Encoding.Unicode.GetBytes(value)

最新更新