使用filesystemobject读取UTF8文件,出现乱码
自己找的一个UTF8 Decode函数总是不能解析完全例如解析如下行时
<item name="continue">继续</item>
解析为
<item name="continue">继
哪位能提供个UTF8解码的函数,谢谢

解决方案 »

  1.   

    Dim fi As Integer
    Dim fo As Integer
    Dim s() As Byte
    Dim t() As String * 1
    Dim i As Long
    Dim L As Long
        fo = FreeFile()
        Open "要保存结果的文件名" For Output As #fo
        fi = FreeFile()
        Open "要解码的utf8文件名" For Binary As #fi
        L = LOF(fi)
                ReDim s(L)
                Get #fi, , s
                ReDim Preserve t(L)
                j = 0
                For i = 0 To L
                    If s(i) < 128 Then
                        t(j) = Chr(s(i)): j = j + 1
                    ElseIf s(i) < 224 Then
                        t(j) = ChrB((s(i) And 3) * 64 + (s(i + 1) And 63)) + ChrB((s(i) And 28) / 4): j = j + 1
                        i = i + 1
                    Else
                        t(j) = ChrB((s(i + 1) And 3) * 64 + (s(i + 2) And 63)) + ChrB((s(i) And 15) * 16 + (s(i + 1) And 60) / 4): j = j + 1
                        i = i + 2
                    End If
                Next
            For i = 0 To j - 1
                Print #fo, t(i);
            Next
            Close #fi
            Close #fo