История изменений
Исправление 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)