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

时间:2014-12-14 13:05:56

标签: vb.net bytearray arabic

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

  

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

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。

1 个答案:

答案 0 :(得分:1)

你不需要为此编写你的功能,这应该有效:

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