当前位置:编程学习 > VB >>

请问在vb中如何将以字符串表示的16进制数据转化成相应的字节传?小弟有礼了!

如题 --------------------编程问答-------------------- 诸如"AA"之类的,用val( "&h" & "AA" )就可以了,大于两个字节的用mid分开处理。 --------------------编程问答--------------------
引用 1 楼 jennyvenus 的回复:
诸如"AA"之类的,用val( "&h" & "AA" )就可以了,大于两个字节的用mid分开处理。


楼主还要注意“字节序”的问题。 --------------------编程问答-------------------- 不明LZ在说什么 --------------------编程问答-------------------- 不明LZ在说什么 --------------------编程问答-------------------- 给出一段演示代码:

Option Explicit
    Dim sTemp As String
    Dim yTemp() As Byte
    Dim Hsum As Integer
    Dim strHex As String
    Dim strData As String
    Dim i As Long
    Dim sj As String

Private Sub Command2_Click()
    zhuanhuan '返回文本字符串
End Sub

Private Sub Command3_Click()
    ReDim yTemp(Len(sj) - 1)
    For i = 1 To Len(sj) Step 2
        yTemp((i - 1) / 2) = Val("&H" & Mid(sj, i, 2))
    Next
End Sub

Private Sub Form_Load()
    sj = "B8F8B5E7D7D3B9A4B3CCCAA6B5C4D6D2B8E6A3A1A3A1A3A15B315DBAC3BAC3B9E6BBAED7D4BCBAB5C4C2B7A3ACB2BBD2AAB8FAD7C5B8D0BEF5D7DFA3A1B8F9BEDDB8F6C8CBB5C4C0EDCFEBBEF6B2DFB0B2C5C5A3ACBEF8B4F3B2BFB7D6C8CBB2A2B2BBD6B8CDFBB3C9CEAACAB2C3B4D4BACABFBBF2BDCCCADAA3ACB6F8CAC7CFA3CDFBBBEEB5C3D7CCC8F3D2BBD0A9A3ACCBACD2BBD0A9A1A3C4C7C3B4A3ACBECDD0E8D2AAC9F7D6D8B0B2C5C5D7D4BCBAB5C4B9ECBCA3A1A3B4D3C4C4B8F6D0D0D2B5C8EBCAD6A3ACD6F0BDA5B6D4B8C3D0D0D2B5C9EEC8EBC1CBBDE2A3ACB2BBD2AAC6B5B7B1CCF8B2DBA3ACCCD8B1F0CAC7B2BBD2AACEAAC1CBD2BBB5E3B9A4D7CAB6F8D7AAD2C6D5F3B5D8A3ACB4D3B3A4D4B6BFB4A3ACD5E2B5E3C7AEB8F9B1BEB2BBCBE3CAB2C3B4A3ACB5B1C4E3B6D4D2BBB8F6D0D0D2B5D3D0C4C7C3B4BCB8C4EAB5C4CCE5BBE1A3ACD2D4BAF3C7AEB8F9B1BEB2BBCAC7CECACCE2A1A3C6B5B7B1B5D8B6AFB5B4B2BBCAC7C9CFB2DFA3ACD7EEBAF3C4E3B6D4C4C4B8F6D0D0D2B5B6BCC3BBD3D0C3FECDB8A3ACD3C0D4B6CAC7D0C2CAD6A3A15B325DBFC9D2D4D7F6BCBCCAF5A3ACC7D0B2BBBFC9B3C1E4CFD3DABCBCCAF5A1A3C7A7CDF2B2BBBFC9D2BBC3C5D0C4CBBCD7EAD1D0BCBCCAF5A3A1B8F8D7D4BCBABADCB4F3D1B9C1A6A3ACC8E7B9FBC4E3B5C4D0C4CBBCC8ABB2B"
    sj = sj & "FB7C5D4DAD5E2C9CFC3E6A3ACC4C7C3B4D7A2B6A8C4E3BDABB3C9CEAABFD7D2D2BCBAD2BBC0E0B5C4C8CBCEEFA3A1CACABFC9B6F8D6B9CEAAD6AEA3ACD2F2CEAABCBCCAF5D6BBB2BBB9FDCAC7C4E3BDF1BAF3C7B0CDBEB5C4D6A7D6F9D6AED2BBA3ACB6F8C7D2BBB9B2BBCAC7D7EEB4F3B5C4D6A7D6F9A3ACB3FDB7C7C4E3D6BBD4B8D2E2B5BDC0CFBBB9CAC7B8F6B9A4B3CCCAA6A3A1"
    Text1 = sj
End Sub

Private Sub zhuanhuan()
    sTemp = StrConv(yTemp, vbUnicode)
    Text3 = sTemp
End Sub
--------------------编程问答-------------------- 上述16进制数据是由以下文字转来的:
给电子工程师的忠告!!![1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特别是不要为了一点工资而转移阵地,从长远看,这点钱根本不算什么,当你对一个行业有那么几年的体会,以后钱根本不是问题。频繁地动荡不是上策,最后你对哪个行业都没有摸透,永远是新手![2]可以做技术,切不可沉湎于技术。千万不可一门心思钻研技术!给自己很大压力,如果你的心思全部放在这上面,那么注定你将成为孔乙己一类的人物!适可而止为之,因为技术只不过是你今后前途的支柱之一,而且还不是最大的支柱,除非你只愿意到老还是个工程师!
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,