Python2 имеет байты и строку в виде знака без знака и юникод как UCS-2 (поэтому кодовые точки выше 65535 будут кодироваться с 2 символами (UCS2) в Python2 и только одним символом (UTF-32) в Python3)

, где и как Python неявно применяет кодирование к строкам или неявное транскодирование (преобразование)?

И каковы эти кодировки по умолчанию (т.е. подразумеваемые)?

Например, каковы кодировки:

строковых литералов?

s = "Byte string with national characters"
us = u"Unicode string with national characters"

байтовых строк при преобразовании типов в и из Unicode?

data = unicode(random_byte_string)

когда байтовые и юникодные строки записываются в / из файла или терминала?

print(open("The full text of War and Peace.txt").read())

Ответы на вопрос(2)

Ваш ответ на вопрос