中文处理的问题..
D1 A9 D2 B8 CE DE C9 F9=雪夜无声
msgbox hex2chr( "D1 A9 D2 B8 CE DE C9 F9 ")
就出问题了...
Public Function Hex2Chr(ByVal HexStr As String)
Dim sArr() As String
Dim sArr2() As String
Dim i As Long
Dim X As Long
Dim cal1 As String
Dim cal2 As String
sArr() = Split(LTrim(HexStr), " ")
For i = 0 To UBound(sArr())
cal1 = cal1 & " " & HexToDec(sArr(i))
Next i
sArr2() = Split(LTrim(cal1), " ")
For X = 0 To UBound(sArr2())
cal2 = cal2 & ChrW(sArr2(X))
Next X
Hex2Chr = cal2
End Function
- -|
如果hex有中文怎么版?
[解决办法]
Private Sub Command1_Click()
MsgBox Hex2String( "D1 A9 D2 B8 CE DE C9 F9 ")
End Sub
Private Function Hex2String(ByVal sHex As String, Optional bUnicode As Boolean)
Dim sByte As Variant
Dim byChar() As Byte
Dim i As Long
sHex = Replace(sHex, vbCrLf, " ")
sByte = Split(sHex, " ")
ReDim byChar(0 To UBound(sByte)) As Byte
For i = 0 To UBound(sByte)
byChar(i) = Val( "&h " & sByte(i))
Next
If bUnicode Then
Hex2String = byChar
Else
Hex2String = StrConv(byChar, vbUnicode)
End If
End Function