- Лучшие HEX редакторы Linux
- Лучшие HEX редакторы для Linux
- 1. Vim
- 2. Hexedit Hex Editor
- 3. Ghex – GNOME Hex Editor
- 4. Bless Hex editor
- 5. Okteta Editor
- 6. wxHexEditor
- 7. HexCurse
- 8. Hexer
- 9. Dhex Hex Editor
- 10. Jeex Hex Editor
- 11. Binary Ninja
- 12. Fileobj Hex Editor
- 13. Joe Hex Editor
- 14. VBdiff Hex Editor
- 15. HexCmp
- Выводы
- UNIX for Dummies Questions & Answers
- Converting binary file to text file
- Конвертирование файлов в кодировку UTF-8 в Linux
- Конвертирование файлов из UTF-8 в ASCII
- Конвертирование нескольких файлов в кодировку UTF-8
Лучшие HEX редакторы Linux
HEX-редактор — это приложение, с помощью которого можно просмотреть и отредактировать файл, содержащий двоичные данные (записанные при помощи комбинаций из цифр 0 и 1), перекодировав его в 16-ричный формат.
А поскольку все без исключения файлы хранятся в памяти компьютера именно в таком виде, использование программ, позволяющих работу с HEX, открывает широкие возможности для различных манипуляций с данными (например, для восстановления поврежденных текстовых и графических документов). Некоторые HEX редакторы предназначены для анализа и редактирования данных с HDD и съемных накопителей — их называют редакторами дисков или редакторами секторов.
Рабочее окно стандартного HEX-редактора разделено на три области. Справа расположена так называемая область символов, в центральной части — область 16-ричного кода и слева — область адресов. В наше время пользователям Linux доступно множество таких программ — каждый может выбрать ту, которая окажется максимально полезной в конкретной ситуации. В этой статье мы собрали лучшие hex редакторы linux.
Лучшие HEX редакторы для Linux
Порой информация, которая хранится на каких-либо носителях, повреждается из-за ошибок в работе системы. В таком случае нет смысла изобретать велосипед и придумывать специальную программу для извлечения данных. Гораздо эффективнее будет использование HEX-редактора. Мы отобрали 20 лучших программ и подготовили их обзор.
1. Vim
Vim служит для редактирования текстовых файлов в шестнадцатеричной системе. В работе он задействует внешний инструмент «xxd», который входит в базовый набор некоторых дистрибутивов Linux. Такое «сотрудничество» иногда становится причиной ошибок в работе редактора.
Преобразование файлов происходит после применения команд:
- :%! xxd — для конвертирования файла в 16-ричный формат;
- %! xxd -r — для возвращения к исходному варианту.
2. Hexedit Hex Editor
Hexedit — простой и надежный HEX editor linux. Среди прочих выделяется наличием большого количества опций (быстрый поиск и/или сравнение, подсветка символов, EBCDIC, применение цветовых схем, режимы INS/OVR, закладки. отслеживание изменений.
- Hexedit используется в работе таких функций ПК как макросы, нажатия клавиш, фоновый поиск, редактор дисков и другие.
- Настройка подсказок, калькулятор, шаблоны. Поддержка файлов, размер которых превышает 4 Гб.
- Наличие инструментов Auto-hide tool windows (для быстрого скрытия окон) и Docking tool windows (для закрепления окон).
- По команде пользователя Hexedit может получать доступ к памяти компьютера, всем дискам и файлам.
3. Ghex – GNOME Hex Editor
Ghex — это бесплатный редактор, который кроме 16-ричного формата поддерживает и ASCII. Спектр использования этой программы очень широк, в частности, она позволяет обманывать систему к компьютерных играх и получать дополнительные очки либо жизни для персонажей.
- Многошаговые команды Undo (отмена) и Redo (повтор).
- Поиск функций в файлах и их замена.
- Отслеживание взаимодействий между восьмеричным, двоичным, шестнадцатеричным и десятичным кодами.
- Настраиваемый MDI.
4. Bless Hex editor
Bless — редактор с открытым исходным кодом, быстрый в работе и простой в настройке. Его интерфейс собран на GTK. Обеспечивает удобную работу с большими файлами, позволяет отменять и повторять действия.
- Управление при помощи клавиатуры.
- Функция поиска и замены файлов.
- Возможность копировать и вставлять текст.
- Блокировка устройств и редактирование большого количества файлов.
5. Okteta Editor
Изначально это приложение было разработано для программистов, однако, пригодится и обычным пользователям, у которых возникла потребность работать с файлами на уровне байтов и редактировать hex linux.
6. wxHexEditor
Мощный инструмент, поддерживающий различные типы файлов, аксессуары и тэги, размер которых может исчисляться в Эксабайтах (1 Эб = 10 18 байт). В большей степени его использование имеет смысл для программистов.
7. HexCurse
Написан на языке C на основе ncurses. Нравится пользователям из-за наличия большого числа функций. Среди прочего, он позволяет изменять сочетания клавиш, использующиеся для управления программой.
8. Hexer
Бесплатный HEX редактор Linux, который умеет только загружать весь файл целиком, что не позволяет редактировать отдельные блоки. Впрочем, есть у него и преимущества — например, функция редактирования в командной строке, многоуровневая команда отмены (Undo) и множественные буферы.
9. Dhex Hex Editor
Эта программа работает на базе ncurses, а в качестве дополнения разработчики снабдили ее функцией сравнения файлов. При желании можно активировать и режим визуализации. Зачастую используется для преобразования дискретных байтов в файлы большого размера.
10. Jeex Hex Editor
Jeex может похвастаться открытым исходным кодом, который был написан на языке Gtk + и опубликован под публичной лицензией GNU. Позволяет выполнять операции в двоичном, восьмеричном, десятичном и шестнадцатеричном форматах. На данный момент является одним из лучших HEX-редакторов.
11. Binary Ninja
Платная программа, написанная на Python и опубликованная под лицензией GPLv2. Особенность этой программы — она рассчитана в первую очередь на реверс-инжиниринг. Все желающие могут скачать демо-версию и в течение 25 минут протестировать Binary Ninja с урезанным количеством опций.
- Графики с синопсисами, позволяющими просмотреть и проанализировать информацию о заданной в данный момент функции.
- Благодаря подменю, выбранные плагины можно объединять в отдельные группы.
- Улучшенная работа PE-анализатора и PE-парсера.
- Доступ к логам осуществляется посредством нажатия на строку с адресом.
- Binary Ninja помогает найти нужную библиотеку для выполнения той или иной бинарной функции.
12. Fileobj Hex Editor
Fileobj был написан на python и основывается на ncurses. Интерфейс этого HEX-редактора напоминает Vi, соответственно, у этих программ много одинаковых функций. Кроме того, Fileobj умеет выполнять большинство команд Vi, что удобно для пользователей.
13. Joe Hex Editor
Джо — еще один HEX-редактор на ncurses, доступный пользователям Linux. Имеет пользовательский mode-less интерфейс, который весьма прост в использовании. Доступ к справочным материалам предоставляется через специальную кнопку на экране.
- Для упрощения работы можно использовать комбинации клавиш.
- Настройка конфигураций.
- Поддержка всех популярных форматов файлов.
14. VBdiff Hex Editor
Название этой программы — VBdiff — буквально обозначает «Визуально двоичный diff». Этот бесплатный редактор способен открывать два файла одновременно и может их сравнивать. Умеет работать с большими документами.
15. HexCmp
HexCmp входит в состав программного обеспечения Fairdell. Это удобное приложение для сравнения и редактирования двоичных файлов как в двоичном, так и в 16-ричном форматах.
Выводы
Упомянутые выше HEX редакторы Linux, достаточно часто используются владельцами компьютеров, работающих под этой операционной системой. Некоторые из них более популярны среди специалистов — программистов и разработчиков. Другие приходятся по вкусу тем, кто пользуется подобным ПО лишь от случая к случаю. Тем не менее, можно сказать, что все они достаточно гибкие и функциональные для того, чтобы удовлетворить потребности всех пользователей.
Источник
UNIX for Dummies Questions & Answers
Converting binary file to text file
Im wondering how I can convert a binary file to a text file?
I have ran the following command to output which type of binary file coding it is
Is there a way I can convert this to a text file?
Many thanks!
Moderator’s Comments: | |
|
What a «binary file» and what a «text file» is is primarily determined by the files contents. So there is no «conversion» between the two, like «convert CSV to Excel format». The latter is just two representations of the same thing — tabular data — but the former are simply different types of contents.
There are (today rather unusual) meanings of «text file» as containing compiled code (calling a relocatible object file before linking «text» was the IBM speak of the seventies) and if you are using the term this way you will have to use a linker. If you are using «text» in the more common meaning of «sequences of characters transporting meaning to a reading human» then there is no (common!) way to transform one into the other.
There are of course programs which use binary representations for text files (simpliest example is a packing program which packs a text file into something binary). In such a case you need to specifically reverse the algorithm (i.e use an unpack-program to restore the text file), but this means to know the used algorithm first. And even this only works if a text file was packed beforehand. Put a binary file in and another binary file will come out, packing or no packing.
If you want to search for text parts inside a binary file, this is possible: use the strings command to list readable strings within otherwise binary files:
Источник
Конвертирование файлов в кодировку UTF-8 в Linux
Оригинал: How to Convert Files to UTF-8 Encoding in Linux
Автор: Aaron Kili
Дата публикации: 2 ноября 2016 года
Перевод: А. Кривошей
Дата перевода: ноябрь 2017 г.
В этом руководстве мы рассмотрим кодировки символов и разберем несколько примеров преобразования файлов из одной кодировки в другую с помощью утилиты командной строки. Затем мы покажем, как преобразовать файлы в Linux из любой кодировки (charset) в UTF-8.
Как вы, наверное, уже знаете, компьютер не понимает и не хранит информацию в виде букв, цифр или чего-либо еще. Он работает только с битами. Бит имеет только два возможных значения — 0 или 1, true или false, да или нет. Все остальное кодируется последовательностями битов.
Простыми словами, кодировка символов — это способ кодировки различных символов определенными последовательностями нулей и единиц. Когда мы вводим текст и сохраняем его в файл, слова и предложения, которые мы набираем, состоят из разных символов, а символы преобразуются в биты с помощью кодировки.
Существуют различные схемы кодирования, такие как ASCII, ANSI, Unicode и другие. Ниже приведен пример кодировки ASCII.
В Linux для преобразования текста из одной кодировки в другую используется утилита командной строки iconv.
Вы можете проверить кодировку файла с помощью команды file, используя флаг -i или -mime, который печатает строку типа mime, как в приведенных ниже примерах:
Синтаксис команды iconv следующий:
Где -f или —from-code задает входную кодировку, а -t или —to-encoding задает конечную кодировку.
Для того, чтобы вывести список всех доступных опций, введите:
Конвертирование файлов из UTF-8 в ASCII
Далее мы научимся конвертировать текст из одной кодировки в другую. Приведенная ниже команда преобразует текст из ISO-8859-1 в кодировку UTF-8.
Рассмотрим файл input.file, который содержит следующие символы:
(Прим: вы увидите эти символы на снимке ниже)
Начнем с проверки кодировки файла, затем просмотрим его содержимое. Мы можем преобразовать все символы в кодировку ASCII.
После запуска команды iconv мы затем проверяем содержимое выходного файла и новую кодировку, как показано ниже.
Примечание. Если в команду добавлена строка //IGNORE, то символы, которые не могут быть преобразованы, и ошибка выводятся после преобразования.
Далее, если добавлена строка //TRANSLIT, как в приведенном выше примере (ASCII//TRANSLIT), преобразуемые символы при необходимости и по возможности транслитерируются. Это означает, что если символ не может быть представлен в целевой кодировке, его можно аппроксимировать одним или несколькими похожими символами.
Далее, любой символ, который не может быть транслитерирован и которого нет в целевой кодировке, заменяется в выводе вопросительным знаком (?).
Конвертирование нескольких файлов в кодировку UTF-8
Возвращаясь к основной теме нашей статьи, мы можем написать небольшой скрипт для преобразования нескольких или всех файлов в каталоге в кодировку UTF-8, под названием encoding.sh:
Сохраните этот файл и сделайте скрипт исполняемым. Запускайте его из той директории, где расположены ваши файлы.
Важное замечание. Вы также можете также использовать этот скрипт для преобразования нескольких файлов из одной заданной кодировки в другую (любую), просто меняйте со значения переменных FROM_ENCODING и TO_ENCODING, не забывая об имени выходного файла «$
Для получения дополнительной информации почитайте руководство iconv:
Подводя итог этой статье, необходимо отметить, что понимание способов преобразования текста из одной кодировки в другую — это знания, необходимые каждому пользователю компьютера, а тем более программистам, когда дело касается работы с текстами.
Если вы хотите лучше понять проблему кодировок символов, прочитайте следующие статьи:
Источник