如何将VB.NET 字符串转换成字节数组

时间:2023-01-11 14:43:45
e.g  Dim s As String = "123456"   要转换成 
Dim b As Byte()  = &H12 , msg(1) = &H34, msg(2) = &H56
可以怎样做? String 長度不是固定的,  谢谢 

Dim s As String = "123456" 
Dim b As Byte() = Encoding.ASCII.GetBytes(s)
這方法出来的是 msg(0) = 49,  msg(1) = 50.........是不行的

6 个解决方案

#1


SubString 2位一个长度
然后Convert.ToByte("13", 16)这样填充,当然如果你不是16位的,那后面的都不需要

#2


在VB.NET中如果需要将一个字符串转换成字节数组,可以使用System.Text命名空间中某个编码对象的GetBytes方法。
转换成 字节数组后 取得 长度 bye.Length.ToString() 长度 循环遍历下 取得每个 数组值;  

#3


我觉得这压根不是转换的问题。。。
直接for i as integer=0 to string.length-1 step 2吧

#4


用for循环,每两个截取,然后转成byte

使用Convert.ToByte(字符串,16)来进行转换

#5


自己写个函数1个1个转。

#6


从左往右2个字符一截取,然后存放到数组中,直到把字符串截取完。

#1


SubString 2位一个长度
然后Convert.ToByte("13", 16)这样填充,当然如果你不是16位的,那后面的都不需要

#2


在VB.NET中如果需要将一个字符串转换成字节数组,可以使用System.Text命名空间中某个编码对象的GetBytes方法。
转换成 字节数组后 取得 长度 bye.Length.ToString() 长度 循环遍历下 取得每个 数组值;  

#3


我觉得这压根不是转换的问题。。。
直接for i as integer=0 to string.length-1 step 2吧

#4


用for循环,每两个截取,然后转成byte

使用Convert.ToByte(字符串,16)来进行转换

#5


自己写个函数1个1个转。

#6


从左往右2个字符一截取,然后存放到数组中,直到把字符串截取完。