Red de conocimiento informático - Problemas con los teléfonos móviles - vb lee archivos de texto codificados en UTF-8

vb lee archivos de texto codificados en UTF-8

Según los comentarios, el código se modificó y se depuró:

Dos pasos:

1. Cree un módulo y copie el siguiente código

Opción explícita

. p >

Función de declaración privada 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

'Leer archivo en variable

Función privada GetFile(Nombre de archivo como cadena) Como cadena

Atenuar i como entero、BB() como byte

Si Dir(FileName) = "" Entonces salga de la función

i = FreeFile

ReDim BB(FileLen(FileName) - 1)

Abrir nombre de archivo para binario como #i

Obtener #i, , BB

Cerrar #i

GetFile = BB

Fin Función

'Función: Convertir caracteres UTF8 a caracteres ANSI

Función pública UTF8_Decode(FileName As String) As String

Dim sUTF8 As String

Atenuar lngUtf8Size mientras

Atenuar strBuffer como cadena

Atenuar lngBufferSize mientras

Atenuar lngResult mientras

Atenuar bytUtf8() AsByte

Dim n As Long

sUTF8 = GetFile(FileName)

Si LenB(sUTF8) = 0, entonces salga de la función

Activado Error GoTo EndFunction

s=UTF8_Decode("c:\1.txt") 'Modifique el nombre del archivo de acuerdo con la situación real

En este momento, s está codificado y almacenado en formato ANSI No habrá problemas de código confuso

.