У меня есть строка x
, определенная как ниже
x = b'LF \xa9 2020 by S&P Global Inc.,200523\n'
In i Python2
In [10]: x
Out[10]: 'LF \xa9 2020 by S&P Global Inc.,200523\n'
In [11]: print(x)
LF � 2020 by S&P Global Inc.,200523
In [12]: x.decode('ISO-8859-1')
Out[12]: u'LF \xa9 2020 by S&P Global Inc.,200523\n'
In [13]: print(x.decode('ISO-8859-1'))
LF © 2020 by S&P Global Inc.,200523
Вопрос 1: почему вывод для x и print (x) разные? То же самое между x.decode ('ISO-8859-1') и print (x.decode ('ISO-8859-1')) .
В i Python3
In [3]: x
Out[3]: b'LF \xa9 2020 by S&P Global Inc.,200523\n'
In [4]: print(x)
b'LF \xa9 2020 by S&P Global Inc.,200523\n'
In [5]: x.decode('ISO-8859-1')
Out[5]: 'LF © 2020 by S&P Global Inc.,200523\n'
In [7]: print(x.decode('ISO-8859-1'))
LF © 2020 by S&P Global Inc.,200523
Вопрос 2: Как видите, в Python3 выходные данные для x и print (x) совпадают. Таковы x.decode ('ISO-8859-1') и print (x.decode ('ISO-8859-1')). В Python2 это не так. Почему это различие между Python2 и Python3?
Вопрос 3: почему вывод print (x) в Python 2 и 3 отличается, вывод x одинаковы?
Вопрос 4: почему вывод x.decode ('ISO-8859-1') in Python 2 и 3 отличается , а print такие же?