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,怎么做?
展开
 我来答
zdingyun
推荐于2016-02-15 · 知道合伙人软件行家
zdingyun
知道合伙人软件行家
采纳数:15429 获赞数:48208
1982年上海业余工业大学化工系毕业 现退休

向TA提问 私信TA
展开全部

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 转成系统的缺省码页。

既可以转换单字节字符也可转换双字节字符。

MyVCer
推荐于2018-02-27 · TA获得超过121个赞
知道小有建树答主
回答量:130
采纳率:100%
帮助的人:92.1万
展开全部
先将字符串前面都加一个&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。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuanxuan163com
2012-04-19 · TA获得超过2770个赞
知道大有可为答主
回答量:1709
采纳率:75%
帮助的人:1768万
展开全部
十六进制是字符串,所以只要在字符串前加十六进制标记就可以了。
bData(0) = “&H” & "A0"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网海1书生
科技发烧友

推荐于2016-01-18 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12315 获赞数:26246

向TA提问 私信TA
展开全部
bData(0) = CByte("&H" & aData(0))

s = "123ABC"
n = CLng("&H" & s)
追问
我想动态的定义一个数组
比如dim adata(N) as byte
类似这样的功能VB能实现么?
然后对数组的各个元素进行赋值,
因为我后面要MSComm1.Output = adata(),所以不能事先定义一个比较大的adata(),多出来的数组元素设备识别不了
追答
可定义动态数组:
Dim adata() as byte
然后即可随时定义它的维数:
ReDim adata(N)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式