Hola,
Estoy leyendo unos strings, y poniendo el decode() para quitarle la: b’
Pero me da el siguiente error: «bytes can only contain ASCII literal characters. (<string>, line 1)»
El string, tiene un caracter que supongo no es de ASCII: b’Corvette Ed 50 Aðos 8cil.aut.’
No me importa que tenga el caracter, pero ¿cómo hago para quitar la b’ y que no me de error?
Gracias.
Hola, buenas tardes.
Puedes hacer un replace
«{var}».replace(«non-ascii-character», «»)
Asignarlo a la misma u otra variable y luego hacerle un decode (reemplaza non-ascii-character con tu caracter no ascii)
Creo que ya lo tengo, estoy utilizando «{var}».encode(«ascii», «ignore»)
Y luego aplico el decode()
Hola, al probarlo me da el siguiente error: «EOL while scanning string literal (<string>, line 1)
¿Tendrá algo que ver que todavía tiene la b de binario?
Perdón, me faltaban las dos comillas en la varible («{var}»)
Ahora me funciona la instrucción, pero veo que no elimina el caracter ð
Entonces, al ejecutar el decode, me sigue dando el error: “bytes can only contain ASCII literal characters. (<string>, line 1)”
Hola, ya entendí, pero tampoco me sirve, porque en realidad no sé que caracter no ascii me pueda llevar, desconozco todas las variaciones posibles. Pensaba que existía una función «non-ascii-character» genérico.
Si no sabes que caracteres te vendran, puedes hacerte un python script, comparar con caracteres validos, si no corresponde con un caracter valido lo reemplazas.
Puedes usar «printable» de «string» o alguna libreria que creas acorde al uso.