
VB 字符串 转为十六进制
是这样的,我有一个adata()asstring,aData(0)="A0"aData(1)="3"aData(2)="82"aData(3)="AA"想转化为bdata...
是这样的,我有一个adata() as string ,
aData(0) = "A0"
aData(1) = "3"
aData(2) = "82"
aData(3) = "AA"
想转化为bdata() as byte
bData(0) = &HA0
bData(1) = &H3
bData(2) = &H82
bData(3) = &HAA
应该怎么做,或者说,我想把字符串的“123ABC”,转化为十六进制的123ABC,怎么做? 展开
aData(0) = "A0"
aData(1) = "3"
aData(2) = "82"
aData(3) = "AA"
想转化为bdata() as byte
bData(0) = &HA0
bData(1) = &H3
bData(2) = &H82
bData(3) = &HAA
应该怎么做,或者说,我想把字符串的“123ABC”,转化为十六进制的123ABC,怎么做? 展开
4个回答
推荐于2016-02-15 · 知道合伙人软件行家
关注

展开全部
VB字符串可通过使用StrConv 函数,将字符串由 Unicode 转成系统的缺省码页后,再获取每个字节的十六进制字符后拼接起来。
StrConv 函数,返回按指定类型转换的 Variant (String)。
实现代码:
Private Sub Command1_Click()
Dim strSj As String
Dim strHexSj As String
Dim i As Long
Dim bytSj() As Byte
strSj = "123ABC十六进制"
bytSj = StrConv(strSj, vbFromUnicode)
For i = 0 To UBound(bytSj)
strHexSj = strHexSj & Right("0" & Hex(bytSj(i)), 2)
Next
Debug.Print strHexSj
End Sub
vbFromUnicode,将字符串由 Unicode 转成系统的缺省码页。
既可以转换单字节字符也可转换双字节字符。
展开全部
先将字符串前面都加一个&H符号,然后使用Val函数转成十进制,如果要用十六进制显示的话,使用HEX函数
Dim str as string
Dim n as integer
Dim str2 as string
str="A0"
str=str & "&H"
n=val(str) '返回包含于字符串内的数字,val函数能够识别&H符号
str2=Hex(n) '返回代表十六进制数值的 String。
Dim str as string
Dim n as integer
Dim str2 as string
str="A0"
str=str & "&H"
n=val(str) '返回包含于字符串内的数字,val函数能够识别&H符号
str2=Hex(n) '返回代表十六进制数值的 String。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
十六进制是字符串,所以只要在字符串前加十六进制标记就可以了。
bData(0) = “&H” & "A0"
bData(0) = “&H” & "A0"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
bData(0) = CByte("&H" & aData(0))
s = "123ABC"
n = CLng("&H" & s)
s = "123ABC"
n = CLng("&H" & s)
追问
我想动态的定义一个数组
比如dim adata(N) as byte
类似这样的功能VB能实现么?
然后对数组的各个元素进行赋值,
因为我后面要MSComm1.Output = adata(),所以不能事先定义一个比较大的adata(),多出来的数组元素设备识别不了
追答
可定义动态数组:
Dim adata() as byte
然后即可随时定义它的维数:
ReDim adata(N)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询