Продолжаем смежную серию статей, напомню: Hex (hexadecimal) — обозначение шестнадцатеричной системы счисления Hex-редактор — по для редактирования данных, представляющее данные как последовательность байтов в hex-коде
Редактор HEX в Linux
Будем использовать xxd
Запишем тестовые строки в файл:
# echo "My first string!" > /tmp/test.txt
Редактор xdd выводит по умолчанию данные из файлов в шестнадцатеричном формате:
# xxd /tmp/test.txt
00000000: 4d79 2066 6972 7374 2073 7472 696e 6721 My first string!
00000010: 0a
Выше мы видим:
1я колонка - шестнадцатеричное представление номеров строк
2я колонка - шестнадцатеричное представление байтов данных
3я колонка - текстовое отображение данных
Спавка хелп:
# xxd -h
Выведем (-с 1 - вывести каждый байт отдельно):
# xxd -c 1 /tmp/test.txt
00000000: 4d M
00000001: 79 y
00000002: 20
00000003: 66 f
00000004: 69 i
00000005: 72 r
00000006: 73 s
00000007: 74 t
00000008: 20
00000009: 73 s
0000000a: 74 t
0000000b: 72 r
0000000c: 69 i
0000000d: 6e n
0000000e: 67 g
0000000f: 21 !
00000010: 0a .
Выведем (-b - замена шестнадцатеричного представления на двоичное во второй колонке):
# xxd -c 1 -b /tmp/test.txt
00000000: 01001101 M
00000001: 01111001 y
00000002: 00100000
00000003: 01100110 f
00000004: 01101001 i
00000005: 01110010 r
00000006: 01110011 s
00000007: 01110100 t
00000008: 00100000
00000009: 01110011 s
0000000a: 01110100 t
0000000b: 01110010 r
0000000c: 01101001 i
0000000d: 01101110 n
0000000e: 01100111 g
0000000f: 00100001 !
00000010: 00001010 .
Кодировки стандарта ASCII (англ. American standard code for information interchange)
Однобайтовая, одному байту соответствует один символ
Содержит основные символы (английский алфавит, цифры, знаки препинания, и т.д.)
Длина кода каждого символа n=8 бит
Сравните вывод команд
Сопоставьте 2 и 3 колонки из шестнадцатеричного вывода xxd к таблице ASCII
Пример(пользуйтесь левым и верхним столбцами для вычисления): 4d это M
Остальные символы всех алфавитов и языков хранятся в других кодировках (пример UTF-8)
Комментарии пользователей
Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!