TGViewer
Питонические атаки Питонические атаки @pythonic_attacks · 1.15K subscribers
Post #437 914
Вы же знаете, что по умолчанию для работы с текстовыми файлами Python использует кодировку UTF-8 на Unix, но не на Windows? Там он возьмёт системную кодировку, типа Win-1251, в зависимости от локали.

Это значит, что если не указать кодировку, то программа будет вести себя по-разному на разных платформах, и текстовые файлики с эмодзями, кириллицей и прочими загадочными иероглифами, записанные на macOS, не будут нормально читаться на Windows. Или даже ещё забавнее — файлики, созданные в русифицированной Windows, не будут нормально читаться в какой-нибудь арабской Windows.

Это поведение было выбрано, чтобы Python вёл себя привычным для платформы образом и не было проблем с другими программами. Например, можно через Python создать текстовый файл, а затем открыть его в Блокноте, и увидеть там правильные буквы, а не "кракозябры" — в старых версиях Windows это было очень актуально. С другой стороны, это усложняет переносимость программ — нужно специально везде указывать кодировки явно, чтобы получить одинаковое поведение на разных платформах.

Сегодня уже ясно, что пластмассовый мир победил и юникод оказался сильней. Практически повсеместно используется UTF-8. Одна универсальная (пусть и не всегда компактная) кодировка куда практичнее, чем множество узкоспециализированных.

И в Python тоже обсуждается переход на UTF-8 везде по умолчанию. Даже на Windows. Пока что это лишь черновик, но идея годная, и я не удивлюсь, если предложение примут. В любом случае, произойдёт это не раньше версии 3.13.

Кстати, в 3.10 при помощи флажка уже можно включить ворнинги, и поймать все места, где у вас при работе с текстовым вводом-выводом не указана кодировка явно. Это подготовка к всеобщему переходу на UTF-8.

#pep #unicode
  • 🤩 11
  • 👍 4
  • ❤ 3
More from @pythonic_attacks
  1. May 24, 2026GPT-5.5 по дефолту предпочитает использовать uv. Совпадение? Абсолютно точно нет. Логично…
  2. Mar 19, 2026Новость вызывает столько противоречивых мыслей, что я даже прерву радио молчание. С одной…
  3. Mar 19, 2026https://openai.com/index/openai-to-acquire-astral/ & https://astral.sh/blog/openai Это не…
  4. Nov 17, 2025Ну что же.. Мы совместно с Эммой Смит опубликовали Pre-PEP о добавлении Раста в CPython. В…
  5. May 19, 2025Вышел трейлер документалки о Python. Что-то на уровне Marvel, возможно даже выше https://w…
  6. May 15, 2025All good things come to an end Что ж, скажем Майкрософту спасибо, что 4 года содержал кома…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →