LINUX.ORG.RU

История изменений

Исправление user_id_68054, (текущая версия) :

Питон 3 utf-8 никоим образом не пропихивает (разве что теперь исходник по-дефолту считается текстом в utf-8). Он просто перестал неявно енкодить строки в байты и декодить байты в строки.

вот тебе пример:

read_fd = open('in.txt', mode='rt') # открыть файл -- на чтение в режиме текста (используется кодировка в зависимости от Локали)
write_fd = open('out.txt', mode='wb')  # открыть файл -- на запись в режиме бинарника

text = read_fd.read()
binary = text.encode() # ВОТ ТУТ -- что происходит? какая кодировка?

write_fd.write(binary)

суть этого примера в том что Пайсон третьей версии — использует UTF-8 во всех тех моментах когда у Пайсона нет инфы о том какую кодировку использовать.

и это касается как видишь не только вопроса о кодировке программного кода :-)

Исправление user_id_68054, :

Питон 3 utf-8 никоим образом не пропихивает (разве что теперь исходник по-дефолту считается текстом в utf-8). Он просто перестал неявно енкодить строки в байты и декодить байты в строки.

вот тебе пример:

read_fd = open('in.txt', mode='rt') # открыть файл -- на чтение в режиме текста (используется кодировка в зависимости от Локали)
write_fd = open('out.txt', mode='wb')  # открыть файл -- на запись в режиме бинарника

text = read_fd.read()
binary = text.encode() # ВОТ ТУТ -- что происходит? какая кодировка?

write_fd.write(binary)

суть этого примера в том что Пайсон третьей версии — использует UTF-8 во всех тех моментах когда у Пайсона нет инфы о том какую кодировку использовать.

и это касается как видишь не только вопроса о кодировке программного кода :-)

при этом — некоторые другие языки программирования когда не знают какую использовать кодировку — смотрять на Локаль (а Пайсон смотрит на Локаль только в тех местах где это подходит.. а в остальных местах UTF-8)

Исправление user_id_68054, :

Питон 3 utf-8 никоим образом не пропихивает (разве что теперь исходник по-дефолту считается текстом в utf-8). Он просто перестал неявно енкодить строки в байты и декодить байты в строки.

вот тебе пример:

read_fd = open('in.txt', mode='rt') # открыть файл -- на чтение в режиме текста (используется кодировка в зависимости от Локали)
write_fd = open('out.txt', mode='wb')  # открыть файл -- на запись в режиме бинарника

text = read_fd.read()
binary = text.encode() # ВОТ ТУТ -- что происходит? какая кодировка?

write_fd.write(binary)

суть этого примера в том что Пайсон третьей версии — использует UTF-8 во всех тех моментах когда у Пайсона нет инфы о том какую кодировку использовать.

и это касается как видишь не только вопроса о кодировке программного кода :-)

при этом — некоторые другие языки программирования когда не знают какую использовать кодировку — смотрять на Локаль (а Пайсон смотрит на Локаль только в тех местах где это подходит.. а остальных местах UTF-8)

Исправление user_id_68054, :

Питон 3 utf-8 никоим образом не пропихивает (разве что теперь исходник по-дефолту считается текстом в utf-8). Он просто перестал неявно енкодить строки в байты и декодить байты в строки.

вот тебе пример:

read_fd = open('in.txt', mode='rt') # открыть файл -- на чтение в режиме текста (используется кодировка в зависимости от Локали)
write_fd = open('out.txt', mode='wb')  # открыть файл -- на запись в режиме бинарника

text = read_fd.read()
binary = text.encode() # ВОТ ТУТ -- что происходит? какая кодировка?

write_fd.write(binary)

суть этого примера в том что Пайсон третьей версии — использует UTF-8 во всех тех моментах когда у Пайсона нет инфы о том какую кодировку использовать.

и это касается как видишь не только вопроса о кодировке программного кода :-)

Исправление user_id_68054, :

Питон 3 utf-8 никоим образом не пропихивает (разве что теперь исходник по-дефолту считается текстом в utf-8). Он просто перестал неявно енкодить строки в байты и декодить байты в строки.

вот тебе пример:

read_fd = open('in.txt', mode='rt') # открыть файл -- на чтение в режиме текста (используется кодировка в зависимости от Локали)
write_fd = open('out.txt', mode='wb')  # открыть файл -- на запись в режиме бинарника

text = read_fd.read()
binary = text.encode() # ВОТ ТУТ -- что происходит? какая кодировка?

write_fd.write(binary)

суть этого примера в том что Пайсон третьей версии — использует UTF-8 во всех тех моментах когда у Пайсона нет инфы о том какую кодировку использовать.

Исправление user_id_68054, :

Питон 3 utf-8 никоим образом не пропихивает (разве что теперь исходник по-дефолту считается текстом в utf-8). Он просто перестал неявно енкодить строки в байты и декодить байты в строки.

вот тебе пример:

read_fd = open('in.txt', mode='rt') # открыть файл -- на чтение в режиме текста
write_fd = open('out.txt', mode='wb')  # открыть файл -- на запись в режиме бинарника

text = read_fd.read()
binary = text.encode() # ВОТ ТУТ -- что происходит? какая кодировка?

write_fd.write(binary)

суть этого примера в том что Пайсон третьей версии — использует UTF-8 во всех тех моментах когда у Пайсона нет инфы о том какую кодировку использовать.

Исходная версия user_id_68054, :

Питон 3 utf-8 никоим образом не пропихивает (разве что теперь исходник по-дефолту считается текстом в utf-8). Он просто перестал неявно енкодить строки в байты и декодить байты в строки.

вот тбе пример:

read_fd = open('in.txt', mode='rt') # открыть файл -- на чтение в режиме текста
write_fd = open('out.txt', mode='wb')  # открыть файл -- на запись в режиме бинарника

text = read_fd.read()
binary = text.encode() # ВОТ ТУТ -- что происходит? какая кодировка?

write_fd.write(binary)