vb 乱码转GB字符

vb乱码转GB字符我TEXT1.TEXT=Inet1.OpenURL("HTTP://xxxx.xxx.com")得到的是乱码..应该是UTF-8格式的,怎么转换成GB的... vb 乱码转GB字符 我TEXT1.TEXT=Inet1.OpenURL("http://xxxx.xxx.com") 得到的是乱码..应该是UTF-8格式的,怎么转换成GB的? 展开
 我来答
匿名用户
2013-09-04
展开全部
转换函数 Public Function Uf8ToUf(strUf8 As String) As String
'将UF8转为VB内部处理编码UF
'在网上找的一个源码是读取UF8文本/保存UF8格式文本的。。。。但老出错。。。后来干脆改成单转换的函数了。
'
'
On Error GoTo MyErr
Dim lngStrLen As Long '需转换的字符串长度
Dim byUf8() As Byte '保存源字符串
Dim byUf(1) As Byte '字符串暂存1
Dim strDef As String '字符串暂存2
Dim i As Long '哨兵计数
Dim strUf As String '存放结果字符串

byUf8() = StrConv(strUf8, vbFromUnicode)
'将当前显示为“乱码”Gb2132转换为VB内部处理编码-Unicode码,并保存到Byte数组

lngStrLen = UBound(byUf8) '获得字符串长度

i = 0
Do While i < lngStrLen
If byUf8(i) < 128 Then '非中文..不作处理。
strUf = strUf & Chr(byUf8(i))
i = i + 1
Else '是中文
byUf(1) = ((byUf8(i) And 15) * 16 + (byUf8(i + 1) And 60) / 4)
'取得第一个字节的后4位与第二个字节的中间4位

byUf(0) = (byUf8(i + 1) And 3) * 64 + (byUf8(i + 2) And 63)
'取得第二字节的后2位与第三个字节的后6位

strDef = byUf
strUf = strUf & strDef

i = i + 3
End If
'DoEvents
Loop
MyErr:
Uf8ToUf = strUf '返回VB内部处理的UF编码
End Function
Public Function getword(aa As String) As String
Dim p As String, s As String
For i = 1 To 20
p = Mid(aa, i, 1)
Select Case pCase "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "$"
s = s & pCase "/"
If Mid(s, i + 1, 1) <> "/" Then s = s & p
End Select
Nextgetword = Replace(s, "//", "")
End Function------------------------------------------------以上结果为本人思考作答或搜索整理,希望对你有用~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式