我有一个将字符串转换为字节数组的函数。如果字符串是用英语编写的,则该函数可以正常工作。但是如果输入字符串是阿拉伯语,则函数不会返回,并且我收到此错误:
对于无符号字节,值太大或太小
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。
答案 0 :(得分:1)
你不需要为此编写你的功能,这应该有效:
Dim b As Byte() = System.Text.Encoding.Unicode.GetBytes(value)