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.
Doraemon
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)
MagicCid
Creo que ya lo tengo, estoy utilizando «{var}».encode(«ascii», «ignore»)
Y luego aplico el decode()
MagicCid
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.
Doraemon
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.
MagicCid
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?
MagicCid
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)”