Текст в восьмеричную систему
Восьмеричная система, забытый родственник шестнадцатеричной: это система счисления по основанию 8, где каждая цифра представляет ровно 3 бита. Права доступа к файлам в Unix (755, 644) записываются в восьмеричном виде, и каждый символ имеет восьмеричный код так же, как десятичный и шестнадцатеричный. Вставьте текст, и этот конвертер вернёт восьмеричный код для каждого байта; вставьте восьмеричные коды, разделённые пробелами, и получите исходный текст обратно.
Как преобразовать текст в восьмеричный вид
-
1
Введите текст
Обычные символы; для данных вне ASCII предполагается кодировка UTF-8.
-
2
Каждый байт становится одним восьмеричным кодом
`A` = 65 в десятичной = `101` в восьмеричной. `Z` = 90 = `132`. Пробел = 32 = `40`.
-
3
Коды разделяются пробелами
Коды байтов соединяются одиночными пробелами (`Hi` превращается в `110 151`). Ведущие нули не добавляются.
-
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 для электронных таблиц, научных работ и веб-страниц.
Инструмент доступен на других языках
- Tekst na ósemkowy [PL]
- Teks ke Oktal [ID]
- Văn bản sang bát phân [VI]
- Text till oktal [SV]
- ข้อความเป็นเลขฐานแปด [TH]
- テキストを8進数に変換 [JA]
- النص إلى النظام الثماني [AR]
- Texto a Octal [ES]
- Texto para Octal [PT]
- Texte en octal [FR]
- Text zu Oktal [DE]
- 텍스트를 8진수로 [KO]
- Tekst naar octaal [NL]
- Testo in ottale [IT]
- Metinden Sekizliye [TR]
- 文本转八进制 [ZH]
- Text to Octal [EN]