永发信息网

VB UTF-8 问题

答案:3  悬赏:0  手机版
解决时间 2021-04-02 16:13
VB UTF-8 问题
最佳答案
Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpDefaultChar As String, ByVal lpUsedDefaultChar As Long) As Long
Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
Private Const CP_UTF8 = 65001

Function Utf8ToUnicode(ByRef Utf() As Byte) As String
Dim lRet As Long
Dim lLength As Long
Dim lBufferSize As Long
lLength = UBound(Utf) - LBound(Utf) + 1
If lLength <= 0 Then Exit Function
lBufferSize = lLength * 2
Utf8ToUnicode = String$(lBufferSize, Chr(0))
lRet = MultiByteToWideChar(CP_UTF8, 0, VarPtr(Utf(0)), lLength, StrPtr(Utf8ToUnicode), lBufferSize)
If lRet <> 0 Then
Utf8ToUnicode = Left(Utf8ToUnicode, lRet)
End If
End Function

Private Sub Form_Load()
Dim a As String
Dim b() As Byte
Dim i As Integer

a = "E9 A2 91 E9 81 93 31 00"

ReDim b(UBound(Split(a, " ")) - 1) As Byte
For i = 0 To UBound(Split(a, " ")) - 1
b(i) = "&H" & Split(a, " ")(i)
Next i

Text1.Text = Utf8ToUnicode(b())

End Sub
全部回答
1.没考虑过
2. FileOpen(1, "", OpenMode.Binary)'VB.NEt2010的代码..VB6也应该差不多
3.请吧单双字节考虑进去,否则还是以二进制的方法读取文件
4.没考虑过,不过文字本质都是些图片不转换用不了吧
尝试用 StrConv() 函数看有没有帮助,例如:
FileName = StrConv(UFileName, vbFromUnicode)
再不就要研究一下相关的 Windows API 了...
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
传统产业如何从事知识管理
木兰科植物有哪些先花后叶的?哪些是先叶后花
收了别人店铺转让定金
赛科消防设备每回路带多少个点?
lol新客户端断网后重连对局仁在进行中咋办?
怎样从京娘湖去涉县?
8年以上的樱桃树什么时候移栽好
为什么有时候只能,默默得坚持,忍受痛苦,还
如何一键备份安卓手机操作系统
钱之间转换有什么规律比如元转千元万元亿元等
PLC单按钮采集模拟量
人们所说的摄影特写是什么意思?
为什么有些人一遇到生活的挫折就想死?
狗被蜱虫咬了怎么办?会死么?
1555年,一位西方领袖下令:除非另有许可,僧
推荐资讯
为什么我的苹果5s用联通4g时每次接打电话时都
自喷漆喷出来的家具怎么样
200升冰箱功率大约多大
cf手游qbz湮灭需要充钱吗
Gta5已经有pc玩家玩上了吗?图里面说steam已
WMF锅被我煎饼煎焦了。。。怎么可以在不伤锅
邢台钢铁股票多少
把甲糖和乙糖混在一起,平均每千克卖7元,乙知
做大众浴池汗蒸房要多少钱一平方米
美的fz405和fz4099的电饭煲对比哪种好
从通安到苏州第一人民医院院座公交车怎么走
孙桂田的人物评价
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?