Кодировка текста

Определение кодировки: UTF-8, Windows-1251, KOI8-R, ISO-8859-5

Нашли ошибку или хотите предложить улучшение?

Улучшить калькулятор «Кодировка текста»

Теория

Кодировка определяет, как байты превращаются в символы. Для кириллицы исторически существовали windows-1251 и KOI8-R, сегодня стандарт — UTF-8, в котором любой символ мира кодируется 1–4 байтами. Открытый не в той кодировке русский текст выглядит как «РїСЂРёРІРµС‚» — «кракозябры».

Детектор определяет кодировку по статистике байтов: у UTF-8 строгая структура последовательностей, у windows-1251 характерные диапазоны. Надёжнее всего метка BOM в начале файла, но встречается не всегда.

Важно: без BOM и контекста детекция не идеальна — короткие строки из латиницы совпадают в нескольких кодировках.

Пример с решением

  1. Условие. Определите кодировку байтов «Привет», закодированных в UTF-8.
  2. Формула. UTF-8: кириллица кодируется двумя байтами с префиксами 110xxxxx 10xxxxxx.
  3. Подстановка. «П» — байты \(D0\,9F\) — соответствует правилу.
  4. Вычисление. Все пары байтов подчиняются структуре UTF-8 — детектор уверенно указывает UTF-8.
  5. Ответ. Кодировка UTF-8. Калькулятор с этой строкой покажет UTF-8; текст в windows-1251 он распознает по другим диапазонам байтов.

Главное

  • UTF-8 — современный стандарт, 1–4 байта на символ.
  • «Кракозябры» — признак неверной кодировки.
  • Детекция — по структуре байтов, BOM — самый надёжный признак.