vb中unicode码,如何转换成文本
用VB编程读取短信,得到一大堆unicode编码,请教如何转换成文本
例如:读取短信后(华为900C或TC35i),串口得到如下数据:
+CMGL: 17,"REC UNREAD","8615007557713",,"10/03/30,09:37:15+32",145,48
0042004C0053005A00300030003000410030003000300036003300410033...
第2行就是unicode编码的文本,如何转换成文本,谢谢!
[解决办法]
[code=VBPrivate Sub Command1_Click()
Dim src As String
Dim dst As String
Dim length As Long
Dim i As Long
src = "0042004C0053005A00300030003000410030003000300036003300410033"
length = Len(src)
For i = 1 To length Step 4
dst = dst + ChrW(Val("&h" + Mid$(src, i, 4)))
Next
End Sub][/code]
[解决办法]
- VB code
Private Sub Command1_Click() Dim strSj As String Dim bytSj() As Byte Dim l As Long Dim i As Long strSj = "0042004C0053005A00300030003000410030003000300036003300410033" l = Len(strSj) ReDim bytSj(l \ 4 - 1) For i = 1 To l Step 4 bytSj((i - 1) / 4) = Val("&H" & Mid(strSj, i + 2, 2)) Next Me.Print StrConv(bytSj, vbUnicode)End Sub
[解决办法]
- VB.NET code
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim a As String = "0042004C0053005A00300030003000410030003000300036003300410033" Dim b As String = "" For i As Integer = 1 To a.Length Step 4 b = b & Chr("&H" & Mid(a, i, 4)) Next TextBox1.Text = b End Sub