Saltar al contenido principal

Convertir texto codificado en GBK a texto codificado en UTF-8 (string.from_gbk)

Declaración

texto_listo_para_usar = string.from_gbk(texto_codificado_en_GBK)

Parámetros

  • texto codificado en GBK
    Tipo texto, texto codificado en GBK que se convertirá a UTF-8

Valores devueltos

  • texto listo para usar
    Tipo cadena o nil; devuelve texto codificado en UTF-8, o nil si un error de codificación impide completar la conversión

Descripción

Convierte texto codificado en GBK a texto codificado en UTF-8
Si la codificación de entrada no es correcta, la función aun así convierte los bytes según la correspondencia; los caracteres ilegibles de la salida no son un problema de la función
Para necesidades de conversión más complejas, consulta luaiconv (biblioteca de conversión de codificación)
Nota: GBK incluye la codificación GB2312, por lo que el texto GB2312 también se convierte con esta función

Ejemplo

-- Codificación china, codificación estándar china, extensión del estándar nacional y GB2312
gbkstr = '\x58\x58\x54\x6f\x75\x63\x68\x20\xba\xdc\xc7\xbf'
--
sys.alert(gbkstr) -- La cadena codificada en GBK no se puede mostrar
sys.alert(string.from_gbk(gbkstr)) -- Imprime "XXTouch 很强"

Nota: el código anterior usa la función sys.alert, que no pertenece a este capítulo.
Descripción: en el código fuente Lua, cuando una cadena comienza por \x y le siguen dos dígitos hexadecimales, representa un byte individual codificado con ese valor. Por ejemplo, \x58 representa el carácter X; consulta «Codificación ASCII» para ver la parte de caracteres imprimibles.