[pyar] Problema con codificación de archivo
Facundo Batista
facundobatista en gmail.com
Mar Jun 28 10:00:49 ART 2016
2016-06-27 12:59 GMT-03:00 Gustavo Campanelli <gedece en gmail.com>:
> Revisando veo que el archivo original está condificado como UTF-8, o sea
> unicode, cuando el FoxPro precisa ASCII (aunque no la versión de 128 bytes,
> con la de 256 que tiene la Ñ en posición 165 funciona correctamente)
>
> Estoy precisadon alguna idea para orientarme hacia una solución, ya que lo
> que encuentro en internet no me está sirviendo. No puedo convertir
> ignorando, ya que es un archivo con posiciones fijas
Tenés que recodificar el archivo, pasándolo de UTF-8 a la codificación
que desees (esa que tiene la Ñ en la posición 165).
Por ejemplo, acá yo estoy agarrando una cadena de bytes codificada en
UTF-8 y la estoy pasando a latin-1. En tu caso, tenés que hacer lo
mismo con las cadenas de bytes que leas del archivo antes de mandarlas
a fox-pro, pero cambiando latin-1 por la codificación esa que decís:
(py3)
>>> cad = b'mo\xc3\xb1o'
>>> cad
b'mo\xc3\xb1o'
>>> cad.decode("utf8")
'moño'
>>> cad.decode("utf8").encode("latin1")
b'mo\xf1o'
Slds.
--
. Facundo
Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
Twitter: @facundobatista
Más información sobre la lista de distribución pyar