Estoy tratando de limpiar todo el HTML de una cadena para que el resultado final sea un archivo de texto. Tengo un poco de investigación sobre los diversos 'convertidores' y estoy empezando a inclinarme hacia la creación de mi propio diccionario para las entidades y los símbolos y ejecutar un reemplazo en la cadena. Estoy considerando esto porque quiero automatizar el proceso y hay mucha variabilidad en la calidad del html subyacente. Para comenzar a comparar la velocidad de mi solución y una de las alternativas, por ejemplo, pyparsing, decidí probar la sustitución de \ xa0 con el método de cadena replace. Consigo unCómo trabajar con Unicode en Python
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 0: ordinal not in range(128)
La línea real de código fue
s=unicodestring.replace('\xa0','')
De todos modos, decidí que tenía que prefacio con una r por lo que corrí esta línea de código:
s=unicodestring.replace(r'\xa0','')
Se ejecuta sin error pero cuando miro un trozo de s veo que el \ xaO todavía está allí
¿Por qué prefijarías '\ xa0' con una r? Eso lo convierte en una cadena en bruto, es decir, literalmente contiene barras invertidas, x, a, 0. Sin la r, contenía un único carácter con código hexadecimal a0, que creo que es lo que usted quería. –
Porque estaba tratando de adivinar por qué recibí el error y sé que a veces para obligar a la \ a leer hay que hacer una cadena literal y también \ xa0 es lo que realmente existe en mi fuente. ¿Qué es el código hexadecimal a0? – PyNEwbie