IT无忧 IT无忧
10秒注册会员 | 加入收藏 | 设为首页

中国IT无忧

今天是: 无忧公告:
您的位置IT无忧 > 编程下载 > 源码下载 > 正文

中文汉字GB2312和UTF-8的编码转换程序

2009-5-22 11:13:59  来源:转载   作者:站长杂志   【

在使用Google或者百度进行中文搜索的时候,我们会发现搜索过程中URL地址栏会变成一串格式字符串编码,我们编写程序经常也需要进行中文汉字到这类URL编码的转换,这里介绍两段相关的转换函数。

  对于使用UTF-8的Google搜索引擎来说,使用Google搜索“汉字”会变成http://www.google.com/search?q=%E6%B1%89%E5%AD%,而对于使用GB2312的百度搜索引擎来说,使用百度搜索“汉字”会变成另外的http://www.baidu.com/s?wd=%BA%BA%D7%D。下面的两段VB代码分别针对UTF-8(UTF8EncodeURI)和GB2312(GBKEncodeURI)进行了编码的转换。

   Private Sub command1_click()
       Debug.Print (UTF8EncodeURI("汉字"))
       Debug.Print (GBKEncodeURI("汉字"))
   End Sub


   Function UTF8EncodeURI(szInput)
       Dim wch, uch, szRet
       Dim x
       Dim nAsc, nAsc2, nAsc3

       If szInput = "" Then
           UTF8EncodeURI = szInput
           Exit Function
       End If

       For x = 1 To Len(szInput)
           wch = Mid(szInput, x, 1)
           nAsc = AscW(wch)

           If nAsc < 0 Then nAsc = nAsc + 65536

           If (nAsc And &HFF80) = 0 Then
               szRet = szRet & wch
           Else
               If (nAsc And &HF000) = 0 Then
                   uch = "%" & Hex(((nAsc \ 2 ^ 6)) Or &HC0) & Hex(nAsc And &H3F Or &H80)
                   szRet = szRet & uch
               Else
                   uch = "%" & Hex((nAsc \ 2 ^ 12) Or &HE0) & "%" & _
                   Hex((nAsc \ 2 ^ 6) And &H3F Or &H80) & "%" & _
                   Hex(nAsc And &H3F Or &H80)
                   szRet = szRet & uch
               End If
           End If
       Next

       UTF8EncodeURI = szRet
   End Function

   Function GBKEncodeURI(szInput)
       Dim i As Long
       Dim x() As Byte
       Dim szRet As String

       szRet = ""
       x = StrConv(szInput, vbFromUnicode)
       For i = LBound(x) To UBound(x)
           szRet = szRet & "%

  • 上一篇:没有了
  • 下一篇:Dvbbs 8.2.0 正式版下载
  • 休闲驿站
    网上购物

    合作伙伴/友情链接

    关于我们 - 联系我们 - 广告服务 - 法律声明 - RSS订阅 - 网站地图 - 繁体中文 - 返回顶部