Convierta caracteres confusos de VB en caracteres GB
'Convertir UF8 a codificación de procesamiento interno VB UF
'Un código fuente que encontré en Internet está leyendo texto UF8/guardando Texto en formato UF8. . . . Pero el antiguo error luego simplemente se cambió a una única función de conversión.
'
'
En caso de error, GoTo MyErr
Dim lngStrLen As Long 'La longitud de la cadena que se va a convertir
Dim byUf8() As Byte 'Guardar cadena fuente
Dim byUf(1) Como Byte cadena cuota 1
Dim strDef As String 'Cadena cuota 2
Dim i As Long 'Sentinel count
Dim strUf As String 'Guardar la cadena de resultados
byUf8() = StrConv(strUf8, vbFromUnicode)
'Convierta el Gb2132 "confuso" que se muestra actualmente al código de procesamiento interno Unicode de VB y guárdelo en una matriz de bytes
lngStrLen = UBound(byUf8) 'Obtenga la longitud de la cadena Longitud
i = 0
Hacer mientras i <lngStrLen
Si byUf8(i) < 128 Entonces 'No chino... no procesado.
strUf = strUf & Chr(byUf8(i))
i = i + 1
De lo contrario, 'es chino
byUf (1) = ((byUf8(i) And 15) * 16 + (byUf8(i + 1) And 60) / 4)
'Obtiene los últimos 4 bits del primer byte y del segundo. 4 bits centrales del byte.
byte
byUf(0) = (byUf8(i + 1) Y 3) * 64 + (byUf8(i + 2) Y 63)
'Obtiene el segundo byte El último 2 bits de y los últimos 6 bits del tercer byte
strDef = byUf
strUf = strUf & strDef
i = i + 3
End If
'DoEvents
Loop
MyErr:
Uf8ToUf = strUf 'Devuelve la codificación UF manejada internamente por VB
Función final
Función pública getword(aa como cadena) como cadena
Atenuar p como cadena、s como cadena
Para i = 1 a 20
p = Mid(aa, i, 1)
Seleccione Caso pCase "0", "1", "2", "3", " 4" , "5", "6", "7", "8", "9", "$"
s = s &pCase "/"
Si Mid( s, i + 1, 1) <> "/" Luego s = s & p
Fin de selección
Nextgetword = Reemplazar(s, "//", "" )
Finalizar función---------------------------------------- -- ------ Las anteriores son mis respuestas de pensamiento o resultados de búsqueda, espero que te sean útiles.