Текст в восьмеричную систему

Восьмеричная система, забытый родственник шестнадцатеричной: это система счисления по основанию 8, где каждая цифра представляет ровно 3 бита. Права доступа к файлам в Unix (755, 644) записываются в восьмеричном виде, и каждый символ имеет восьмеричный код так же, как десятичный и шестнадцатеричный. Вставьте текст, и этот конвертер вернёт восьмеричный код для каждого байта; вставьте восьмеричные коды, разделённые пробелами, и получите исходный текст обратно.

Как преобразовать текст в восьмеричный вид

  1. 1

    Введите текст

    Обычные символы; для данных вне ASCII предполагается кодировка UTF-8.

  2. 2

    Каждый байт становится одним восьмеричным кодом

    `A` = 65 в десятичной = `101` в восьмеричной. `Z` = 90 = `132`. Пробел = 32 = `40`.

  3. 3

    Коды разделяются пробелами

    Коды байтов соединяются одиночными пробелами (`Hi` превращается в `110 151`). Ведущие нули не добавляются.

  4. 4

    Декодируйте, вставив восьмеричные коды

    Переключитесь на «Восьмеричный → Текст» и вставьте восьмеричные значения, разделённые пробелами; каждое значение от 0 до 255 становится одним байтом.

Быстрые примеры восьмеричного кода

Символ Десятичный Восьмеричный Двоичный
A 65 101 1000001
a 97 141 1100001
0 48 60 0110000
пробел 32 40 0100000
\n 10 12 0001010

Почему восьмеричная система всё ещё важна

Большинство современных систем предпочитают шестнадцатеричную, потому что две шестнадцатеричные цифры аккуратно равны одному байту. Восьмеричная система сохраняется в нескольких местах:

  • Права доступа к файлам в Unix: chmod 755 означает владелец = 7 (rwx), группа = 5 (r-x), остальные = 5 (r-x). Каждая цифра это три бита прав.
  • Escape-последовательности в C/Python: \101 в строковом литерале это A. Ведущий ноль в целочисленных литералах C (int x = 0755) интерпретируется как восьмеричное число, известная ловушка.
  • Встраиваемые и ретросистемы: старые 12-, 18- и 36-битные архитектуры хорошо согласовывались с восьмеричной системой.
  • Значения umask: umask 022 задаёт маску прав доступа по умолчанию равной 755.

Таблица прав доступа к файлам

Восьмеричная цифра Права Двоичный
0 --- 000
1 --x 001
2 -w- 010
3 -wx 011
4 r-- 100
5 r-x 101
6 rw- 110
7 rwx 111

Таким образом, chmod 644 = владелец rw-, группа r--, остальные r--, значение по умолчанию для читаемого текстового файла.

Подводные камни

  • Ведущие нули важны в C. int a = 010; задаёт a равным 8, а не 10. В Python 3 это убрали; всегда используйте 0o10.
  • Восьмеричная система использует только цифры 0-7. 8 и 9 недопустимы в восьмеричном виде. Если вы их видите, источник не восьмеричный.
  • Байты Unicode становятся крупнее в восьмеричном виде. Эмодзи UTF-8 (4 байта) превращается в 4 трёхзначных восьмеричных кода, двенадцать символов. В шестнадцатеричном виде было бы восемь. Для большинства задач отображения выигрывает шестнадцатеричная система.

Часто задаваемые вопросы

Почти никогда, если только вы не имеете дело с правами доступа Unix или escape-последовательностями строк C в формате \NNN. Шестнадцатеричная система компактнее и её легче читать побайтно.

Потому что каждая восьмеричная цифра точно соответствует трём битам прав (чтение, запись, выполнение). Эта запись появилась в AT&T Unix в 1971 году и осталась навсегда, она изящно соответствует лежащему в основе битовому шаблону.

Да. Переключитесь на «Восьмеричный → Текст» и вставьте восьмеричные значения, разделённые пробелами (например, 110 151). Каждое значение от 0 до 255 снова становится байтом, поэтому многобайтовые символы UTF-8 декодируются из своих отдельных байтовых кодов.

Ваш текст отправляется на наш сервер только для выполнения преобразования и не сохраняется и не записывается в журнал.

Сопутствующие инструменты

Генератор названий городов

Создавайте вымышленные названия городов, посёлков, деревень и столиц для миростроения, карт, игр, историй и тестовых данных с короткими заметками к каждому результату.

Переводчик иконок

Введите английский текст, и каждое слово из встроенного списка получит подходящий эмодзи. Скопируйте результат как текст с эмодзи.

Генератор бегущей строки

Создавайте анимированные бегущие заголовки с настраиваемой скоростью, размером шрифта и цветами. Предпросматривайте CSS-строку marquee или панель объявлений вживую в браузере.

Переводчик Эндермана

Превратите любую фразу в речь Эндермена в стиле Minecraft: растяните гласные и переверните каждое второе слово. Скопируйте результат в чат, на таблички или в посты фанатов.

Символы стрелок для копирования

Копируйте популярные Unicode-стрелки одним щелчком: прямые, двойные, диагональные, крючковые, круговые и треугольные для документов, чатов и дизайна.

Символ «меньше или равно»

Копируйте знак ≤ и связанные математические символы сравнения. Включает Unicode, HTML-сущности и разметку LaTeX для электронных таблиц, научных работ и веб-страниц.

Инструмент доступен на других языках