在VB中如何把UTF-8编码转换为中文?

Flash中用XMLsocket把中文字符转换成utf-8编码发到VB里,在VB中如何把UTF-8编码转换为中文?我正在制作聊天室,需要源码。new_net,如果不转换成... Flash中用XMLsocket把中文字符转换成utf-8编码发到VB里,在VB中如何把UTF-8编码转换为中文?
我正在制作聊天室,需要源码。

new_net,如果不转换成UTF-8,Flash里就显示不出来中文了。还有你的代码哪来的?我一用就错误。
展开
 我来答
XOooZzz
2009-06-26 · TA获得超过813个赞
知道小有建树答主
回答量:672
采纳率:0%
帮助的人:402万
展开全部
可以试下自己写转换的函数,给你点参考资料

转自新帆新闻组:
第一步:用二进制法读入文本数据,赋值给字节型数组,并判断前3个字
节是否UTF-8标记,如果是,才进行以下的处理
第二步:逐个字节判断是否汉字编码,如果是,就再提取后两个数组元
素,共三个数组元素来加以处理
第三步:将这三个数据都转换成16进制数据
第四步:将三个16进制数据都转换成二进制数据
第五步:从第一个二进制数据中去掉前4位,从第二、三个二进制数据
中分别去掉前2位,并将这三个处理后的二进制数据依次连接,成为一
个16位的字串
第六步:从这个二进制串中分别提取前8位和后8位转换成两个10进制
数据,这两个数据就是汉字的Unicode码了,将它们赋值给一个字符型
变量即可
new_net
推荐于2016-12-05 · TA获得超过654个赞
知道小有建树答主
回答量:587
采纳率:0%
帮助的人:500万
展开全部
无须先转换成UTF-8再转成GB2312

更简单的:

'源串
dim strText as string ="要发往单片机的字符串"

'要输出的字节数组
dim arrbytOut() as byte

'转换
arrbytOut = System.Text.Encoding.GetEncoding("GB2312").GetBytes(strText)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tn瓶邪
推荐于2016-01-25 · TA获得超过1881个赞
知道小有建树答主
回答量:610
采纳率:98%
帮助的人:111万
展开全部
具体步骤为:
Public Function GetStringFromUTF8(ByRef data() As Byte) As String
Dim result As String, tmp(1 To 2) As Byte, char As String
For i = LBound(data) To UBound(data)
If data(i) < &H80 Then
result = result & Asc(data(i))
Else
If UBound(data) - i < 2 Then
Exit For
Else
tmp(2) = (data(i) - &HE0) * &H10 + (data(i + 1) - &H80) / 4
tmp(1) = (data(i + 1) Mod 4) * &H40 + (data(i + 2) - &H80)
char = buffer
result = result & char
i = i + 2
End If
End If
Next
GetStringFromUTF8 = result
End Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微软专家张海
2009-06-27 · TA获得超过748个赞
知道小有建树答主
回答量:564
采纳率:100%
帮助的人:0
展开全部
先把UTF-8编码转成Byte数组,然后
StrConv(bytearr, vbUnicode, &H804)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
荔菲彭泽07
2009-06-27 · TA获得超过724个赞
知道小有建树答主
回答量:505
采纳率:0%
帮助的人:688万
展开全部
2L是.NET的代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式