Escribo software de procesamiento de correo en Python que encuentra bytes extraños en los campos del encabezado. Sospecho que esto es solo correo mal formado; el mensaje mismo dice ser nosotros-ascii, así que no creo que haya una codificación verdadera, pero me gustaría obtener una cadena unicode que se aproxime a la original sin tirar un UnicodeDecodeError
.¿Hay una función de biblioteca de Python que intente adivinar la codificación de caracteres de algunos bytes?
Por lo tanto, estoy buscando una función que lleva un str
y, opcionalmente, algunos consejos y hace su más pena devolverme un unicode
. Podría escribir uno por supuesto, pero si tal función existe, probablemente su autor haya pensado un poco más sobre la mejor manera de hacerlo.
También sé que el diseño de Python prefiere explícito a implícito y que la biblioteca estándar está diseñada para evitar la magia implícita en la decodificación de texto. Solo quiero decir explícitamente "adelante y adivine".
Puede omitir el caso '' ascii'' al final y simplemente usar 'latin1', ya que' latin1' decodificará todos los valores de 256 bytes sin error. –