¿Cómo sabe Python la codificación de una cadena?
Hay muchas codificaciones para cadenas, como utf-8, gb2312, gbk, gb18030, bz2, zlib, big5, bzse64
Python tiene dos formas de manejar la codificación, a saber, decodificar. métodos () y encode()
a?=?Hello'
b?=?'python'
print?a.decode('utf - 8').encode('gbk')##El método de decodificación convierte la cadena en un objeto Unicode y luego la convierte en el objeto de cadena codificado especificado mediante el método de codificación
print?b.decode( 'utf-').encode('gbk')##Print?b.decode('utf-8')##b.decode('utf-8')##El método es un objeto de cadena. 8')###el método decode convierte una cadena en un objeto Unicode
Por lo tanto, es difícil permitir que Python (o la máquina) reconozca la codificación de la cadena. La codificación es la correspondencia entre un carácter chino y un número entero; el mismo número entero puede tener diferentes codificaciones, todas las cuales tienen caracteres chinos correspondientes. Por ejemplo, el flujo de bits "xe6\xb0\xb4\xe5\xa3\xb6" tiene caracteres chinos correspondientes en cuatro codificaciones, pero solo tiene significado en la codificación utf-8. Podemos ver esto de un vistazo, pero es difícil conseguir que una computadora lo haga. >>>?s?=?Tetera'
>>>?s
18:?'\xe6\xb0\xb4\xe5\xa3\xb6'
>>>?print?unicode(s,?' big5')
Dzymczyk
>>>?print?unicode(s,?gbk')
Aldea Concurrente 6
>>>?print?unicode(s,??' gb2312')
Concubina 6
>>>? print?unicode(s,??' utf-8')
Tetera