Option Explicit
Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
Private Const CP_UTF8 = 65001
Private Function GetFile(FileName As String) As String
Dim I As Integer, BB() As Byte
If Dir(FileName) = "" Then Exit Function
I = FreeFile
ReDim BB(FileLen(FileName) - 1)
Open FileName For Binary As #I
Get #I, , BB
Close #I
GetFile = BB
End Function
Public Function UTF8_Decode(FileName As String) As String
Dim sUTF8 As String
Dim lngUtf8Size As Long
Dim strBuffer As String
Dim lngBufferSize As Long
Dim lngResult As Long
Dim bytUtf8() As Byte
Dim n As Long
sUTF8 = GetFile(FileName)
If LenB(sUTF8) = 0 Then Exit Function
On Error GoTo EndFunction
bytUtf8 = sUTF8
lngUtf8Size = UBound(bytUtf8) + 1
lngBufferSize = lngUtf8Size * 2
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载