VB如何把汉字和字母转换成utf8字符?

求代码... 求代码 展开
 我来答
匿名用户
2015-08-11
展开全部
参考方法如下:

面的两段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 & "%" & Hex(x(i))
Next
GBKEncodeURI = szRet
End Function
十六夜里的水田
2011-12-01 · TA获得超过1829个赞
知道小有建树答主
回答量:763
采纳率:0%
帮助的人:521万
展开全部

这个图片清楚的说明了UNICODE与UTF8编码的联系

追问
看不懂,好深奥
追答
拿“水”这个字来说,水的UTF编码前8位是1110+水的UNICODE编码高8位中的前4位,中8位是10+水的UNICODE编码高8位中的后4位+水的UNICODE编码低8位中的前2位,后8位是10+水的UNICODE编码低8位中的后6位
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zx001z7d53
2011-12-01 · TA获得超过2万个赞
知道大有可为答主
回答量:2.4万
采纳率:52%
帮助的人:5681万
展开全部
看这里
追问
我要是的是汉字转utf8- - .能帮我改下么

参考资料: http://blog.163.com/hwb_1988/blog/static/1756781272010113104947878/

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老刀正能量
2011-12-01 · TA获得超过2011个赞
知道大有可为答主
回答量:1487
采纳率:0%
帮助的人:1542万
展开全部
汉字和字母转UTF8字符?
应该不是这吧?是不是你弄错了啊~
更多追问追答
追问
我怎么会弄错- -。
追答
uft8是一种字符集编码,而非像你所说的
我想你所说的应该是汉字和字母转化为ascii码吧~
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式