请问:
UTF-8文件如何编码实现转换成ANSI文件格式文件?
或者
UTF-8文件读出的行编码实现转换成ANSI文件格式行?
多谢!!!!
请尽快!

解决方案 »

  1.   

    Public 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
    Public Const CP_UTF8 = 65001Public Function UTF8_Decode(bUTF8() As Byte) As String
        Dim lRet As Long
        Dim lLen As Long
        Dim lBufferSize As Long
        Dim sBuffer As String
        Dim bBuffer() As Byte
        
        lLen = UBound(bUTF8) + 1
        
        If lLen = 0 Then Exit Function
        
        lBufferSize = lLen * 2
        
        sBuffer = String$(lBufferSize, Chr(0))
        
        lRet = MultiByteToWideChar(CP_UTF8, 0, VarPtr(bUTF8(0)), lLen, StrPtr(sBuffer), lBufferSize)
        
        If lRet <> 0 Then
            sBuffer = Left(sBuffer, lRet)
        End If
        
        UTF8_Decode = sBuffer
    End Functiondim b() as byte
    open "xxx" for binary as #1
    redim b(lof(1)-1)
    get #1,,b
    close #1
    debug.print UTF8_Decode(b())
      

  2.   

    几位大哥都是厉害人啊,什么时候我能把vb学成这样就好了。可惜98年把c给扔了,专心玩网络维护了。后悔阿。
      

  3.   

    我记得utf-8格式文件的头3个字节好象是个标记什么的,应该可以直接跳过的吧,呵呵,具体忘了