vb 怎样将text1里面的网页源码(UTF8编码)的字符转为gb2312
随便用什么方法。函数也可以,用webbrowers来处理也行,只要能把这些UTF8的编码字符转为能识别的中文就行,而不是乱码 --------------------编程问答-------------------- Private Sub Command1_Click()Text1.Text = WebBrowser1.Document.body.innerhtml
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "www.baidu.com"
End Sub
'显示源码
--------------------编程问答--------------------
'UTF-8解码(3-12更改,可以解多个字符串 可供正常使用)
Public Function UTF8Decode(ByVal code As String) As String
If code = "" Then
UTF8Decode = ""
Exit Function
End If
Dim tmp As String
Dim decodeStr As String
Dim codelen As Long
Dim result As String
Dim leftStr As String
leftStr = Left(code, 1)
While (code <> "")
codelen = Len(code)
leftStr = Left(code, 1)
If leftStr = "%" Then
If (Mid(code, 2, 1) = "C" Or Mid(code, 2, 1) = "B") Then
decodeStr = Replace(Mid(code, 1, 6), "%", "")
tmp = c10ton(Val("&H" & Hex(Val("&H" & decodeStr) And &H1F3F)))
tmp = String(16 - Len(tmp), "0") & tmp
UTF8Decode = UTF8Decode & UTF8Decode & ChrW(Val("&H" & c2to16(Mid(tmp, 3, 4)) & c2to16(Mid(tmp, 7, 2) & Mid(tmp, 11, 2)) & Right(decodeStr, 1)))
code = Right(code, codelen - 6)
ElseIf (Mid(code, 2, 1) = "E") Then
decodeStr = Replace(Mid(code, 1, 9), "%", "")
tmp = c10ton((Val("&H" & Mid(Hex(Val("&H" & decodeStr) And &HF3F3F), 2, 3))))
tmp = String(10 - Len(tmp), "0") & tmp
UTF8Decode = UTF8Decode & ChrW(Val("&H" & (Mid(decodeStr, 2, 1) & c2to16(Mid(tmp, 1, 4)) & c2to16(Mid(tmp, 5, 2) & Right(tmp, 2)) & Right(decodeStr, 1))))
code = Right(code, codelen - 9)
End If
Else
UTF8Decode = UTF8Decode & leftStr
code = Right(code, codelen - 1)
End If
Wend
End Function --------------------编程问答-------------------- 下面这个是解码程序
--------------------编程问答--------------------
c10ton未定义。
补充:VB , 网络编程