VB中的GBK编码

Option Explicit
Function FormatNameToMac(val As String) As String
    Dim i   As Integer
    Dim str As String
    str = ""

    For i = 1 To Len(val)

        If CLng("&h" & Hex(Asc(Mid(val, i, 1)))) < 127 Then
            str = str & NumToStrHex(Asc(Mid(val, i, 1)), 1)
        Else
            str = str & NumToStrHex(Asc(Mid(val, i, 1)), 2)
        End If
    Next
    For i = 1 To Len(str) Step 2
        FormatNameToMac = FormatNameToMac & "%" & Mid$(str, i, 2)
    Next
    'FormatNameToMac = ""
    'For i = 1 To Len(str) Step 4

        'If Len(Mid(str, i, 4)) = 4 Then
        '    FormatNameToMac = FormatNameToMac & H_To_L(Mid(str, i, 4))
        'Else
        '    FormatNameToMac = FormatNameToMac & Mid(str, i, 4)
        'End If
    'Next
End Function

Function NumToStrHex(ByVal num As Long, ByVal bytLen As Integer) As String
  Dim str As String
  Dim strReturn As String
  Dim i As Integer
  Dim iLen As Integer
  str = CStr(Hex(num))
  iLen = bytLen * 2
  strReturn = ""
  If Len(str) >= iLen Then
  strReturn = Right(str, iLen)
  Else
  For i = Len(str) To iLen - 1
  strReturn = strReturn & "0"
  Next
  strReturn = strReturn & str
  End If
  NumToStrHex = strReturn
End Function

Function H_To_L(val As String) As String
  H_To_L = Right(val, 2) & Left(val, 2)
End Function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值