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

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 --------------------编程问答-------------------- 下面这个是解码程序

--------------------编程问答--------------------
引用 2 楼 mytoday2004 的回复:
'UTF-8解码(3-12更改,可以解多个字符串 可供正常使用)

Public Function UTF8Decode(ByVal code As String) As String
    If code = "" Then
        UTF8Decode = ""
        Exit Function
    End If
   
    Dim tmp As S……



c10ton未定义。
补充:VB ,  网络编程
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,