Articles of encoding

entendiendo decode () y encode () unicode

Simplemente no puedo ver cómo funcionan las funciones decode() y encode() en python2.7 Probé la siguiente statement >>> s = u’abcd’ >>> s.encode(‘utf8’) ‘abcd’ >>> s.encode(‘utf16’) ‘\xff\xfea\x00b\x00c\x00d\x00’ >>> s.encode(‘utf32’) ‘\xff\xfe\x00\x00a\x00\x00\x00b\x00\x00\x00c\x00\x00\x00d\x00\x00\x00’ Hasta aquí, creo que está claro; encode() traduce un código Unicode en la cadena de bytes utf-8/16/32 correspondiente. Pero cuando codifico: >>> s.decode(‘utf8′) u’abcd’ >>> […]

Conversión de doble barra diagonal utf-8

¡No puedo conseguir que esto funcione! Tengo un archivo de texto de un analizador de archivos de juegos guardados con un montón de nombres chinos UTF-8 en forma de byte, como este en source.txt: \ xe6 \ x89 \ x8e \ xe5 \ x8a \ xa0 \ xe6 \ x8b \ x89 Pero, no importa […]

códec ascii no puede decodificar byte 0xe9

He investigado y visto soluciones, pero ninguna me ha funcionado. Python – el codec ‘ascii’ no puede decodificar byte Esto no funcionó para mí. Y sé que el 0xe9 es el carácter é. Pero todavía no puedo averiguar cómo hacer que esto funcione, aquí está mi código output_lines = [”, ”, ”, ”, ”, ”, […]

Analizar archivos XML enormes y mal codificados en Python

He estado trabajando en el código que analiza los archivos XML externos. Algunos de estos archivos son enormes, hasta gigabytes de datos. No hace falta decir que estos archivos deben analizarse como un flujo porque cargarlos en la memoria es demasiado ineficiente y, a menudo, conduce a problemas de OutOfMemory. He usado las bibliotecas miniDOM, […]

Almacenar un valor hash binario en un campo de modelo de Django

Tengo un hash hex de veinte bytes que me gustaría almacenar en un modelo Django. Si utilizo un campo de texto, se interpreta como unicode y vuelve confuso. Actualmente lo estoy codificando y decodificando, lo que realmente desordena el código, porque tengo que poder filtrarlo. def get_changeset(self): return bin(self._changeset) def set_changeset(self, value): self._changeset = hex(value) […]

¿Cómo decodificar y codificar una página web con python?

Utilizo Beautifulsoup y urllib2 para descargar páginas web, pero una página web diferente tiene un método de encoding diferente, como utf-8, gb2312, gbk. Utilizo la página de inicio de urllib2 get sohu, que está codificada con gbk, pero en mi código, también uso esta forma para decodificar su página web: self.html_doc = self.html_doc.decode(‘gb2312′,’ignore’) Pero, ¿cómo […]

Bucles de Python frente a listas de comprensión y mapa para efectos secundarios (es decir, no se utilizan valores de retorno)

TL; DR ¿Cuál es el mejor? 1.- [r.update(r.pop(‘some_key’)) for r in res if r.get(‘some_key’)] 2.- map(lambda r: r.update(r.pop(‘some_key’) if r.get(‘some_key’) else []), res) 3.- map(lambda r: r.update(r.pop(‘some_key’)), filter(lambda r: r.get(‘some_key’), res)) 4.- for r in res: if r.get(‘some_key’): for element in r[‘some_key’]: r[element] = r[‘some_key’][element] del r[‘some_key’] 5.- Insert your own approach here Nota : […]

Análisis de un archivo de idioma CS: GO con encoding en Python

Este tema está relacionado con el archivo de script Parsing a CS: GO en el tema de Python , pero hay otro problema. Estoy trabajando en un contenido de CS: GO y ahora estoy tratando de hacer que una herramienta de Python importe todos los datos de la carpeta / scripts / a los diccionarios […]

Problema de encoding al descargar HTML usando mecanizar y Python 2.6

browser = mechanize.Browser() page = browser.open(url) html = page.get_data() print html Muestra algunos personajes extraños. Supongo que es una cadena UTF-8 pero Python no lo sabe y no puede mostrarla correctamente. ¿Cómo puedo convertir esta cadena a una cadena Unicode como u = u’test’

python: UnicodeDecodeError: el codec ‘utf8’ no puede decodificar el byte 0xc0 en la posición 0: el byte de inicio no es válido

Estoy intentando escribir un script que genera unicode aleatorio creando cadenas codificadas en utf-8 al azar y luego decodificándolas a Unicode. Funciona bien para un solo byte, pero con dos bytes falla. Por ejemplo, si ejecuto lo siguiente en un shell de python: >>> a = str() >>> a += chr(0xc0) + chr(0xaf) >>> print […]