тгТихая грань
ОПЕРАЦИЯ · КОДИРОВКИ

Преобразовать UTF-16 в UTF-8

Перекодировать текст с BOM, сохранив переносы.

Инструмент: Python 3 · риск: creates-output · проверено: 2026-02-21

Предварительные условия

Python 3; input-utf16.txt имеет BOM. Для файла без BOM явно выберите utf-16-le или utf-16-be.
Команда
python3 - <<'PY'
with open("input-utf16.txt", encoding="utf-16", newline="") as src, open("output-utf8.txt", "x", encoding="utf-8", newline="") as dst:
    while True:
        text = src.read(65536)
        if not text: break
        dst.write(text)
PY

Объяснение аргументов

newline="" сохраняет окончания строк; чтение блоками ограничивает буфер.

Ожидаемый результат

UTF-8 без BOM с тем же текстом.

Проверка

Сравните decoded строки исходника и результата с соответствующими кодировками.

Распространённые ошибки

  • Неверная endianness даёт искажённый текст; errors="ignore" скрывает потери.

Обратимость

Исходник сохранён; BOM и исходные байты восстанавливаются только по договорённости.

Применимые форматы

plain-text csv xml