Что представляет собой формат HEX. Как открыть и редактировать HEX-файлы. Где применяются файлы в формате HEX. Какие программы поддерживают работу с HEX.
Что такое формат HEX и для чего он используется
HEX (от слова hexadecimal — шестнадцатеричный) — это формат представления двоичных данных в виде шестнадцатеричных значений. Каждый байт данных записывается как два шестнадцатеричных символа.
Основные области применения HEX-формата:
- Представление машинного кода и двоичных данных в удобочитаемом виде
- Хранение настроек и конфигураций программного обеспечения
- Отладка программ на низком уровне
- Редактирование двоичных файлов
- Анализ содержимого файлов и данных
HEX-формат позволяет компактно представить двоичные данные и удобен для просмотра и редактирования человеком. При этом он сохраняет точное побайтовое представление информации.
Структура HEX-файла
Типичный HEX-файл имеет следующую структуру:
- Каждая строка начинается с двоеточия (:)
- Далее идет 6-байтовый заголовок, содержащий адрес и тип записи
- Затем следуют сами данные, представленные парами шестнадцатеричных цифр
- В конце строки указывается контрольная сумма
Пример строки HEX-файла:

:10010000214601360121470136007EFE09D2190140
Здесь:
- 10 — количество байт данных в строке
- 0100 — адрес, начиная с которого записываются данные
- 00 — тип записи (00 — данные, 01 — конец файла)
- 214601360121470136007EFE09D2 — сами данные
- 19 — контрольная сумма
Как открыть и просмотреть HEX-файл
Для просмотра и редактирования HEX-файлов используются специальные HEX-редакторы. Наиболее популярные из них:
- HxD — бесплатный HEX-редактор для Windows
- Hex Fiend — бесплатный HEX-редактор для macOS
- Bless — HEX-редактор с открытым исходным кодом для Linux
- 010 Editor — мощный коммерческий HEX-редактор
- Hex Workshop — профессиональный HEX-редактор для Windows
Эти программы позволяют открывать HEX-файлы, просматривать и редактировать их содержимое, а также конвертировать данные между различными форматами.
Преобразование HEX в другие форматы
HEX-данные можно легко преобразовывать в другие форматы и обратно. Наиболее распространенные преобразования:
- HEX в двоичный код
- HEX в десятичное число
- HEX в ASCII-текст
- HEX в байтовый массив
Для таких преобразований удобно использовать онлайн-конвертеры или специализированные утилиты. Многие языки программирования также имеют встроенные функции для работы с HEX-данными.

Применение HEX-формата в программировании
В программировании HEX-формат часто используется для следующих целей:
- Представление цветов в веб-дизайне (например, #FF0000 для красного цвета)
- Задание констант и литералов в исходном коде
- Хранение бинарных данных в текстовом виде
- Отладка и анализ памяти программ
- Работа с сетевыми протоколами на низком уровне
Большинство языков программирования поддерживают HEX-литералы и предоставляют функции для преобразования HEX-строк в числа и обратно.
Преимущества и недостатки формата HEX
Основные преимущества HEX-формата:
- Компактное представление двоичных данных
- Удобочитаемость для человека
- Простота преобразования в другие форматы
- Широкая поддержка в ПО и языках программирования
Недостатки формата HEX:
- Избыточность по сравнению с чистым двоичным представлением
- Сложность прямого редактирования для неподготовленных пользователей
- Отсутствие встроенной проверки целостности данных
Несмотря на некоторые ограничения, HEX остается одним из самых популярных форматов для представления двоичных данных в текстовом виде.

Альтернативы формату HEX
Существуют и другие форматы для представления двоичных данных:
- Base64 — кодирует данные с помощью 64 печатных символов
- Binary — чистое двоичное представление в виде нулей и единиц
- Octal — восьмеричное представление (использует цифры от 0 до 7)
- SREC — формат Motorola S-record, похожий на Intel HEX
Выбор формата зависит от конкретной задачи и области применения. HEX остается наиболее универсальным и широко поддерживаемым вариантом.
Заключение
Формат HEX предоставляет удобный способ представления двоичных данных в текстовом виде. Он широко используется в программировании, отладке и анализе данных. Понимание структуры HEX-файлов и умение работать с HEX-данными — важный навык для разработчиков и специалистов по компьютерной безопасности.
При работе с HEX-файлами важно использовать специализированные редакторы и соблюдать осторожность, так как неправильное редактирование может привести к повреждению данных. С помощью современных инструментов формат HEX позволяет эффективно анализировать и модифицировать двоичные данные различных типов.

Чем открыть hex? — Все о расширениях и форматах
Информация о расширении hex
Формат 1
Название (англ.): BinHex Encoded File
Название (рус.): Кодированный файл BinHex
Разработчик: BinHex
Категория: Зашифрованные файлы
Описание: HEX или BinHex Encoded File представляет собой формат файла кодированного с помощью старых версий приложения BinHex используемого в операционной системе Mac OS. Относится формат HEX к категории зашифрованных файлов. Это тип кодирования применялся для преобразования неких данных в двоичный текстовый файл, который можно было передавать по сети без риска повреждений, обычно по электронной почте. Такие документы обычно имеют больший вес, нежели исходный файл. В настоящее время формат BinHex Encoded File считается устаревшим. В новых версиях программы BinHex он был заменен форматом HQX.
Для открытия (редактирования) файла этого формата можно использовать следующие программы:
Формат 2
Название (англ.): Hexadecimal Source File
Название (рус.): Шестнадцатеричный исходный код
Разработчик: Неизвестен
Категория: Скрипты, исходный код
Описание: HEX или Hexadecimal Source File представляет собой формат файла содержащего шестнадцатеричный исходный код. Файлы этого типа относятся к категории скриптов. Внутреннее содержимое НЕХ-файла может быть представлено различными данными, например сведениями о конфигурации, параметрами настроек и т.п., сохранными в шестнадцатеричном формате. Иногда файлы этого типа могут быть представлены в виде простых текстовых документов. В этом случае открыть их можно любым текстовым редактором. В остальных случаях для просмотра НЕХ-файлов следует использовать такие программы как Heaventools FlexHex, Cygnos Hex Editor или HHD Hex Editor.
Для открытия (редактирования) файла этого формата можно использовать следующие программы:
Рейтинг расширения: 5/5
Всего проголосовало: 1 чел.
Есть вопросы? Мы будем рады ответить на них в комментариях ниже :).
Please enable JavaScript to view the comments powered by Disqus. comments powered byЧто это за формат? Двоичный? Hex?
Я наткнулся на следующий формат данных.
\u6444\u50CF\u5934\u524D
Он не шестнадцатеричный, не двоичный, и я не знаю, как его назвать. Что это?
binary format hexПоделиться Источник Unknown 24 июня 2014 в 20:00
3 ответа
- Hex В Двоичный Преобразователь
Как я могу преобразовать в bash строку в hex (например, d43c23F1) в двоичный код. Без использования утилиты bc. Hex:Binary d43c23F1:11010100001111000010001111110001
- Что это за формат с плавающей запятой?
Я пытаюсь понять, как читать исторический двоичный файл данных. Я считаю, что он пришел из более старой 32-битной системы Solaris. Я смотрю на раздел файла, который, как мне кажется, содержит 32-битные плавающие числа (а не IEEE плавающих чисел). Формат выглядит следующим образом (как дамп hex):…
2
Это кодовые точки Юникода, которые кодируются как 4 hex символов, в общей сложности 16 бит.
Поделиться merlin2011 24 июня 2014 в 20:02
0
глядя на \u50CF
.. часть 50CF
говорит, что это HEX
, а \u
говорит, что это тоже unicode
.
Поделиться Rahul 24 июня 2014 в 20:03
0
да, Юникод, или, возможно, utf-8, если он согласуется с ним, как установлено первыми двумя постами.&*()
UTF-8 (ЧТО-ТО ЕЩЕ)
Поделиться Frederick 22 июля 2015 в 16:43
Похожие вопросы:
Что это за кодировка? 0x21
Я читаю о ASCII, и в книге говорится, что ! был представлен как 0x21 . Теперь я знаю, что ! -это двоичный 00100001 в таблице ASCII, который также является 33 в десятичной системе счисления, которая…
Что это за формат datetime? У меня есть структура DateTime для старого формата данных, для которого у меня нет доступа ни к каким спецификациям. Есть поле, которое указывает на datetime данных, но оно не в каком-либо формате,…
Расшифровать двоичный формат файла
У меня есть двоичный файл, в который я пытаюсь написать, однако у меня нет спецификации формата файла и я не нашел его с помощью google, я смотрел на файл с помощью редактора hex, но до сих пор у…
Hex В Двоичный Преобразователь
Как я могу преобразовать в bash строку в hex (например, d43c23F1) в двоичный код. Без использования утилиты bc. Hex:Binary d43c23F1:11010100001111000010001111110001
Что это за формат с плавающей запятой?
Я пытаюсь понять, как читать исторический двоичный файл данных. Я считаю, что он пришел из более старой 32-битной системы Solaris. Я смотрю на раздел файла, который, как мне кажется, содержит…
Что означает java исходный / двоичный формат?
Преобразование массива символов в двоичный формат hex C++
У меня есть строка, хранящая 16 hex символ. Например: const char* arr = DD2B23B62AC245DA; Мне нужно записать эти символы в двоичный файл в формате 8 байт. Каждый байт представлен двумя символами hex…
Карта Desfire EV1 имеет следующие данные 1A3D803DC0, но выводит 3D803DC0. Что это за формат?
Карта Desfire EV1 выводит следующие данные через weigand. 3D803DC0. Однако, когда я взглянул на карту Desfire, я увидел, что данные в файле были 1A3D803DC0. Это байт длины, за которым следуют…
Преобразование строки intel hex в нормальную hex в java
У меня есть строка в формате intel hex, и ее нужно преобразовать в формат hex, а затем оттуда в десятичную. Данные передаются с устройства gps. Вот какой результат я должен получить Intel hex :…
Как конвертировать файл dsPIC33 HEX в двоичный файл?
У меня есть файл HEX для моей заявки на dsPIC33, теперь я хочу отправить файл на microcontroller поочередно. Поскольку файл HEX, сгенерированный компилятором , имеет формат intel hex, я попытался…
The setting is carried out on the hex. adjusting screw of the slack […] adjuster. et.amazone.de |
Регулировка […] производится при помощи шестигранника регулировочного рычага.et.amazone.de |
While tightening […] the screw, apply hex nut [561] to eliminate […]the longitudinal play from the thread. download.sew-eurodrive.com |
Чтобы устранить […] продольный люфт в резьбе, подтягивайте […]гайку [561] на этом винте. download.sew-eurodrive.com |
DIFFERENCE of 1 : The winner has pushed […] back the loser by one hex, as far as possible directly […]away from the attacker. jimwallman.org.uk |
РАЗНИЦА 1: Победитель оттесняет […] проигравшего назад на один гекс, по направлению от себя.jimwallman.org.uk |
After cleaning the basket, reverse the above procedure making sure that the gasket […] is in place and tighten the four hex bolts.baltimoreaircoil.eu |
После чистки корзины проведите сборку в обратном порядке, убедившись, что […] уплотнение на месте, и затяните четыре болта.baltimoreaircoil.eu |
The close coupled pump and motor assembly is bolted […] together with four stainless steel hex bolts for ease of maintenance […]and repair. baltimoreaircoil.eu |
Сборка из насоса и […]мотора для облегчения обслуживания и ремонта […] зафиксирована четырьмя болтами из нержавеющей стали с шестигранными головками.baltimoreaircoil.eu |
The abutment consists of a prefabricated, high-fusing alloy base, which has a […]cylindrical connection […] geometry – the SIC precision inner hex – and a cast-on, high-fusing […]alloy functional section that […]allows customized contouring when used with a burnout plastic extension sleeve in the region of the screw channel. sic-invent.com |
Абатмент состоит из предварительно обработанной базы из высокопроникающего сплава, которая […]имеет циллиндрическую геометрию […] присоединения-внутренний шестигранник используемый в системах SIC-и […]наплавляемую функиональную […]секцию из высоко проникающего сплава, что позволяет производить индивидуальное контурирование при исользовании выжигаемой расширяющей втулки в области винтового канала. sic-invent.com |
First byte (counting from left to right) equals 04 in Hex—format and equals 4 in decimal format. mpkit.ru |
Первый байт (считается слева направо) равен 04 в шестнадцатеричном виде и равен 4 в десятичном виде. mpkit.ru |
Screw hex head screw [560] against […] the actuator of microswitch [555] until it switches over (brown-blue contacts closed). download.sew-eurodrive.com |
Выворачивайте винт [560] в сторону нажимного […] кулачка [555] микровыключателя до его включения (синий и коричневый контакты замкнуты). download.sew-eurodrive.com |
The half that the hex digit does not belong to is then removed, and the question is asked again of the remaining ordered list of unchosen hexes. scienceandglobalsecurity.org |
Половина гекс-цифр, не принадлежащая к заданной группе, удаляется и затем проверка повторяется. scienceandglobalsecurity.org |
Any HEX—editor will allow to easily […] replace the visible text, and the modified script will loose your copyright. articles.mql4.com |
Любой HEX-редактор позволит без труда […] заменить видимые тексты на какие-то свои, и модифицированный скрипт будет выдавать […]уже совсем не ваш копирайт. articles.mql4.com |
Prior to removing or assembling […] the plug, unscrew the hex socket headless screw […]at the side. samson.de |
При разборке или сборке […] конуса, открутить винт с потайной шестигранной головкой […]с боку. samson.de |
This instrument is a stainless steel […] holder, which has the precision inner hex and a thread in its tip.sic-invent.com |
Этот инструмент является держателем из нержавеющей стали, […] который снабжен внутренним шестигранником и и резьбой на кончике.sic-invent.com |
The two hex head sockets (7/16 inch […] and 3/8 inch) have reduced outside diameters that fit all new network interface devices. flukenetworks.com |
Два гнезда с шестигранным головками […] (7/16 дюйма и 3/8 дюйма), уменьшают внешние диаметры, которые соответствуют всем новым […]устройствам интерфейса сети. ru.flukenetworks.com |
no screws, no hex bolts, straightforward mounting and riding. on top of this clever mount the saddlepack […] has a tapered shape […]allowing for a non-interfering shape with maximum storage capacity. other details include rubber zipper pulls to prevent rattling, an outer that can easily be cleaned and an integrated strap to hang your tail light from. bbbcycling.com |
Крепление под задний фонарь интегрировано в логотип ВВВ. bbbcycling.com |
Also seen in this packet sequence is that port 80 on the victim network seemingly has a service, as evidenced by the SYN/ACK, The SYN/ACK packet […]is ascertained by verifying the flag field in the TCP header, in this […] case the underline hex value of 12 or […]decimal 18. redline-software.com |
Так же в этом пакете видно, что у порта 80 сети жертвы есть сервис, как на то указывает SYN/ACK. […]SYN/ACK пакет определен проверкой поля флагов […] в TCP заголовке, в нашем примере подчеркнуто […]в шестнадцатеричном коде 12 или в десятичном 18. redline-software.com |
When we shall be calculating many important things like Number of Cylinders, Heads and Sectors of a hard disk or we shall be using hard […]disk editor programs to analyze different characteristics and […] problems, we shall need the good knowledge of Hex system.datadoctor.biz |
Когда мы будем высчитывать много важных вещей как количество цилиндров, головки и участки трудного диска или мы будем использовать программы редактора […]трудного диска для того чтобы проанализировать по-разному […] характеристики и проблемы, мы хорошее знание системы наговора.datadoctor.biz |
Hex Viewer window shows the opened […] file content in binary, hexadecimal and ASCII modes. elecard.com |
Окно Hex Viewer отображает открытый […] файл в двоичном, шестнадцатеричном и ASCII режимах. elecard.com |
Combatants with weapons with […] a reach of more than one hex (see later for combat engagement […]zones) may always try and engage […]an attacker who wishes to close to a shorter range. jimwallman.org.uk |
Воины […] с оружием с диапазоном больше одного гекса (см. далее […]«зоны ведения боя»), может всегда попытаться начать поединок […]с персонажем, подошедшим ближе диапазона оружия. jimwallman.org.uk |
It thus makes more sense to use hexadecimal (“hex” or base 16) digits, rather than base 10 decimal digits for the plaintext, ciphertext, and OPODS mappings.41 With the use of the hex digits, each OPODS mapping consists of 16 hexes, in random order, with no hex digit repeated in a given mapping. scienceandglobalsecurity.org |
Поэтому имеет больше смысла использовать гексадесятичные («гексы», или на базе 16) цифры, а не десятичные (база 10) цифры для чистого текста, шифрованного текста и отображений ОБДПЗ.41 При использовании гекс-цифр каждое отображение ОБДПЗ состоит из 16 гексов, расположенных в случайном порядке, причем ни одна из гекс-цифр не повторяется в данном отображении. scienceandglobalsecurity.org |
Since 1978, in the Self drilling screw, DIN7504, self […] tapping screw, type17, hex washer head, tek screw, […]chipboard screw, drywall screw, roofing […]screw, concrete screw, flange washer head screw, stainless steel screw, farmer screw, screw manufacturer, double thread screw, etc., Landwide has been offering our customers high quality #5 / #6 DRILL POINT production service. landwide-screw.com |
С 1978 года в Себе Винт бурения, […] DIN7504, самонарезающие винты, Type17, шестигранная […]головка машина, ТЭК винт, винт ДСП, […]гипсокартон винт, винт кровельные, бетонные винты, шайбы фланца головкой, нержавеющая сталь винт, фермер винт, винт производителя , двойной винтовой резьбы и т.д., Landwide был предлагая нашим клиентам высокое качество № 5 / № 6 сверла производства услуг. landwide-screw.com |
Status line (Found files quantity, Total size, Process status, Current LBA) […] Board with inlay «Pro tocol«, «HEX» and indicator of performance […]process. pc-3000flash.com |
Строка состояния (Количество найденных […]файлов, Общий размер, Статус процесса, Текущий […] LBA)Панель с вкладками «Протокол», «HEX» и индикатором процесса […]выполнения. pc-3000flash.com |
Existing designs can use this new version by simply changing a […] couple of component values and the HEX file.rls.si |
В существующих устройствах эта новая версия может использоваться путем простого изменения […] нескольких значений компонентов и файла HEX.rls.si |
The hex head self-threading screw […] (furnished with most UL Listed CPVC hangers) is easily installed using a rechargeable electric drill and a 5/8 inch (8,0 mm) socket attachment. tyco-fire.com |
Шуруп-саморез с шестигранной головкой […] (поставляемый с большинством включенных в реестр UL подвесов для труб из ХПВХ) легко устанавливается при помощи аккумуляторной дрели с гайковертом на 5/8 дюйма (8,0 mm) . tyco-fire.com |
Push the button «Update […] software» and select the previously extracted hex file.ohmartvega.com |
Нажать кнопку «Обновить ПО» и […] для запуска обновления выбрать hex-файл из загруженного […]ранее и распакованного архива. ohmartvega.com |
This algrithm wastes none of the OTP, but is somewhat less secure in that it still relies on the computer’s PRNG.60 Random OPODS mappings […]can also be created by letting the […] OTP values shuffle the hex digits {0123456789ABCDEF} […]in a random fashion using, for example, […]the Fisher-Yates Shuffling Algorithm.61 Another approach is called the “Reseeding Algorithm. scienceandglobalsecurity.org |
Этот алгоритм не тратит ничего в ОБ, но он слегка менее безопасен в той степени, в какой все еще полагается на ГПСЧ компьютера.60 Случайные отображения […]ОБДПЗ могут также быть созданы, […] если позволить в значении ОБ перемешать случайным […]образом гекс-цифры (0123456789ABCDEF), использовав, […]например, алгоритм смешивания Фишера-Ятса.61 Другой подход назван «алгоритмом повторения отбора». scienceandglobalsecurity.org |
The scale of Radey’s game was astounding: 1 counter = a […] battalion; 1 mile per hex; three turns per […]day; as a result the 2,400 counters, 4 large […]maps, and a hard-to-predict playing time made “Korsun Pocket” a true “monster. statusbelli.ru |
Поражал масштаб игры Рэйди: одна фишка – […] батальон, 1 миля в гексагоне, в сутках […]– три хода, в результате 2 400 фишек, 4 большие […]карты и трудно предсказуемые затраты времени на игру делали «Корсунь-Шевченковский котел» поистине «монстром». statusbelli.ru |
Note that we can use the last eight hex digits of the fingerprint in this […] and other GnuPG operations. debian.org |
Заметьте, что мы можем […] использовать последние восемь шестнадцатеричных числа отпечатка при выполнении […]этой и остальных операций GnuPG. debian.org |
Lastly, we will also take a look to see how the UPX […] packed malware looks like at the hex level.redline-software.com |
Наконец, мы узнаем, как выглядите вредоносное программное […] обеспечение, упакованное в UPX, на шестнадцатиричном […]уровне. redline-software.com |
If instead of using hex digits as the fundamental unit, […] bytes were used for OPODS, each mapping would 256 bytes long, which […]would require substantially more storage. scienceandglobalsecurity.org |
Если вместо применения гекс-чисел в качестве фундаментальных […] единиц будут использоваться для ОБДЗЗ байты, каждое отображение […]окажется на 256 байтов длиннее, а это потребует значительно больше памяти. scienceandglobalsecurity.org |
Как в CSS сделать прозрачность в HEX формате?
Чтобы добавить прозрачность в HEX-формат, нужно добавить несколько дополнительных символов, которые будут означать альфа-канал (прозрачность).Прозрачность для цвета задается в процентах (от 0 до 100). Чтобы добавить прозрачность в HEX-формат — нужно необходимое значение прозрачности также конвертировать в шестнадцатеричное значение.
Для удобства, можно подсмотреть в табличку приведенную ниже:
# таблица шестнадцатеричных значения от нуля до ста. 100% — FF 99% — FC 98% — FA 97% — F7 96% — F5 95% — F2 94% — F0 93% — ED 92% — EB 91% — E8 90% — E6 89% — E3 88% — E0 87% — DE 86% — DB 85% — D9 84% — D6 83% — D4 82% — D1 81% — CF 80% — CC 79% — C9 78% — C7 77% — C4 76% — C2 75% — BF 74% — BD 73% — BA 72% — B8 71% — B5 70% — B3 69% — B0 68% — AD 67% — AB 66% — A8 65% — A6 64% — A3 63% — A1 62% — 9E 61% — 9C 60% — 99 59% — 96 58% — 94 57% — 91 56% — 8F 55% — 8C 54% — 8A 53% — 87 52% — 85 51% — 82 50% — 80 49% — 7D 48% — 7A 47% — 78 46% — 75 45% — 73 44% — 70 43% — 6E 42% — 6B 41% — 69 40% — 66 39% — 63 38% — 61 37% — 5E 36% — 5C 35% — 59 34% — 57 33% — 54 32% — 52 31% — 4F 30% — 4D 29% — 4A 28% — 47 27% — 45 26% — 42 25% — 40 24% — 3D 23% — 3B 22% — 38 21% — 36 20% — 33 19% — 30 18% — 2E 17% — 2B 16% — 29 15% — 26 14% — 24 13% — 21 12% — 1F 11% — 1C 10% — 1A 9% — 17 8% — 14 7% — 12 6% — 0F 5% — 0D 4% — 0A 3% — 08 2% — 05 1% — 03 0% — 00Конструкция цвета в CSS обычно выглядит так:
#FFFFFF или #FFFОбе записи означают один и тот же цвет — белый.
Основные браузеры (такие как Chrome) начали поддерживать альфа-канал (прозрачность) в hex цветах примерно с 2016 года (с разным уровнем стабильности). Чтобы добавить альфа канал в HEX значение — нужно добавить необходимую прозрачность в шестнадцатеричном формате в самый конец записи из шести символов.
Возьмем красный цвет и сделаем его полупрозрачным:
#FF000080 # 80 - шестнадцатеричная запись 50 (см таблицу выше)Таким образом, мы берем HEX-цвет и добавляем ему прозрачность, добавляя альфа канал в конец записи.
Конструкцию можно описать как RRGGBBAA.
А что же с HEX-цветом с записью цвета тремя символами? Примерно тоже самое, но в конец добавляется лишь один символ:
#F008Конструкцию можно описать как RGBA.
Корректность работы цвета можно непосредственно в браузере (задав css-атрибуту нужный цвет). На скриншоте ниже видно, что Chrome обозначает hex-цвет с прозрачностью (альфа-каналом) отдельной иконкой.
Прозрачность для HEX-цвета в CSS
Используя альфа-канал в HEX — убедитесь, что все браузеры, в которых ваш сайт/приложение должно работать поддерживают его.
Преобразование массива байт в hex-строку
В процессе разработки часто бывает необходимо отобразить «сырой» массив данных, состоящий из массива байт, в виде читаемой строки. При этом далеко не все возможные значения байта (которых всего 256) отображаются в виде читаемых символов. Общепринятным подходом является отображение значения байта в шестандцатеричном формате (hexadecimal или hex).
В данном формате значения от 0 до 9 отображаются как есть, затем 10 заменяется на первую букву английского алфавита A, 11 преобразуется в B и т.д. И так до значения 15, т.е. до F. Затем значение 16 в шестнадцатеричном формате отображается в виде 10 (переполнился первый разряд, который стал нулём и мы заняли второй разряд). И далее 17 становится 11, 18 преобразуется в 12 и т.д. Максимальное значение байта 255 отображается как FF.
В Java (а, значит, и в Kotlin) наиболее простой способ отображения числа в шестнадцатеричном виде — это использование специального шаблона в методе String.format(). Рассмотрим код на kotlin:
fun ByteArray.toHexString() = this.joinToString(separator = «») { «%02X».format(it) }
Здесь мы объявляем функцию расширения для ByteArray. В ней мы форматируем каждый байт по шаблону %02X. % в данном случае означает начало шаблона, 2 говорит о длине формируемой строки, 0 — о том, что если число занимает меньше символов, чем требуется, то недостающие разряды будут заполнены нулями. Ну а X отвечает за шестнадцатеричный формат. При использовании прописной X строка будет также содержать прописные буквы, а при использовании строчной x — строчные. Далее мы склеиваем каждую такую строку с помощью метода joinToString() и в качестве разделителя указываем пустую строку.
Теперь мы можем вызывать нашу функцию расширения на любом байтовом массиве:
val bytes = byteArrayOf(1, 2, 10, 15)
val hexString = bytes.toHexString() // строка «01020A0F»
Для создания массива байт используем byteArrayOf(), но в реальных приложениях чаще всего это содержимое строки или файла. Далее метод toHexString() возвращает строку в hex-формате. Каждое число представлено двумя символами. Обратите внимание на ведущие нули для каждого из значений.
bin, oct, hex – системы исчисления
Вспомним основы информатики и поговорим о системах исчисления. В жизни мы привыкли к десятичной системе (base-10 или decimal), железо компьютеров оперирует в системе двоичной (base-2 или binary) – нулями и единицами. Часто приходится иметь дело с системой шестнадцатиричной (base-16 или hexadecimal), она позволяет записывать данные в 8 раз короче, чем двоичная. Реже встречается система восьмеричная (base-8 или octal). Система исчисления – это всего лишь средство представления числа, т.е. то, как мы его в строчку запишем или считаем, само число остается самим собой, независимо от системы.
Чтобы получить целое число из строки, записанной в какой-то системе исчисления, используем функцию int (второй параметр – база системы):
>>> int('42') # по умолчанию 10 42 >>> int('42', 10) # тоже самое 42 >>> int('101010', 2) 42 >>> int('BEEF', 16) 48879 >>> int('7654', 8) 4012
Наоборот сделать из числа строку в какой-то системе – встроенные функции bin, oct и hex:
>>> bin(42) '0b101010' >>> hex(48879) '0xbeef' >>> oct(4012) '0o7654'
В строке появились префиксы 0b
, 0x
и 0o
. Как и в Си, в Python можно использовать эти префиксы для записи чисел в коде помимо обычного десятичного варианта, если это требуется:
>>> 0b11011, 0xDEAD, 0o777 (27, 57005, 511)
Однако, часто приходится иметь дело с чистыми HEX-данными без префиксов. Многие (да и я) делали вот так:
>>> hex(12345)[2:] '3039'
Т.е. просто отрезали первые два символа. Это не очень интуитивно, да и может привести к неправильному поведению, если передать отрицательное число:
>>> hex(-12345) '-0x3039' >>> hex(-12345)[2:] 'x3039'
К счастью, есть встроенная функция format(value, format_spec) (не путать с str.format
), которая форматирует значение, согласно спецификатору форматирования:
>>> format(3039, 'x'), format(3039, 'X'), format(3039, '#x') ('bdf', 'BDF', '0xbdf') >>> format(120, 'b') '1111000' >>> format(79, 'o') '117'
x
— 16-ричное без префикса, маленькие буквX
— 16-ричное без префикса, заглавные буквы#x
— 16-ричное с префиксом, маленькие буквыb
— двоичное число без префикса и т.д.
format(value, format_spec)
эквивалентная вызову type(value).__format__(value, format_spec)
.
🐉 Специально для канала @pyway. Подписывайтесь на мой канал в Телеграм @pyway 👈
1 865
Как конвертировать HEX в PDF с помощью принтера PDF
На этой странице объясняется, как Вы можете с легкостью конвертировать a .hex файл в PDF файл с помощью бесплатного и простого в использовании PDF24 Creator. Описанный способ конвертации является бесплатным и простым. PDF24 Creator устанавливает PDF принтер, и Вы можете распечатать Ваш .hex файл на данном принтере, чтобы конвертировать файл в PDF.
Что необходимо для конвертации HEX файла в PDF файл или как можно создать PDF версию Вашего HEX файла
Файлы типа HEX или файлы с расширением .hex можно легко конвертировать в PDF с помощью PDF принтера.
PDF принтер представляет собой виртуальный принтер, который можно использовать так же, как любой другой принтер. Отличием от обычного принтера является то, что PDF принтер создает PDF файлы. Вы не печатаете на физическом листе бумаги. Принтер PDF печатает содержимое исходного файла в PDF файл.
Таким образом, Вы можете создать PDF версию любого файла, который можно распечатать. Просто откройте файл с помощью ридера, нажмите кнопку печати, выберите виртуальный PDF принтер и нажмите кнопку «Печать». Если у Вас есть устройство для чтения файла HEX и если ридер может распечатать файл, то Вы можете преобразовать файл в формат PDF.
Бесплатный и простой в использовании PDF принтер от PDF24 можно загрузить с этой страницы. Просто нажмите на кнопку загрузки справа от этой статьи, чтобы загрузить PDF24 Creator. Установите это программное обеспечение. После установки Вы будете иметь новое печатающее устройство, зарегистрированное в Windows, которое можно использовать для создания PDF файлов из Вашего .hex файла или конвертации любого другого файла с возможностью печати в формат PDF.
Вот как это работает:- Установите PDF24 Creator
- Откройте .hex файл с помощью ридера, который может открыть файл.
- Распечатайте файл на виртуальном PDF24 PDF принтере.
- Помощник PDF24 открывает окно, в котором Вы можете сохранять новый файл как PDF, отправлять по его email, факсу или редактировать.
Подробнее о PDF24 Creator
Более подробная информация о .hex файлах, которая поможет найти подходящий ридер, так что Вы можете печатать файлы этого типа на PDF принтере.
Расширение файла: | .hex |
Мим-Тип: | |
Описание: | Hex dump |
ОБЩЕЕ: формат файла Intel HEX
Главная / Техническая поддержкаИнформация в этой статье относится к:
- Keil MDK Все версии
- C166 Все версии
- C251 Все версии
- C51 Все версии
ВОПРОС
Что такое формат файлов Intel HEX?
ОТВЕТ
Файл Intel HEX — это текстовый файл ASCII со строками текста, которые следуйте файловому формату Intel HEX.Каждая строка в файле Intel HEX содержит одну HEX-запись. Эти записи состоят из шестнадцатеричного числа, представляющие машинный код и / или постоянные данные. Файлы Intel HEX часто используются для передачи программы и данных, которые будет храниться в ПЗУ или СППЗУ. Большинство программистов EPROM или эмуляторы могут использовать файлы Intel HEX.
Формат записи
Файл Intel HEX состоит из любого количества записей HEX. Каждый запись состоит из пяти полей, которые расположены следующим образом формат:
: llaaaatt [дд...] cc
Каждая группа букв соответствует отдельному полю, и каждая Буква представляет собой единственную шестнадцатеричную цифру. Каждое поле составлено не менее двух шестнадцатеричных цифр, составляющих байт, как описано ниже:
- : — это двоеточие, с которого начинается каждый Intel HEX записывать.
- ll это поле длины записи, которое представляет количество байтов данных ( dd ) в записи.
- аааа это адрес поле, представляющее начальный адрес для последующих данных в запись.
- тт
это поле, представляющее тип записи HEX, который может быть одним
из следующего:
00 — запись данных
01 — запись конца файла
02 — запись адреса расширенного сегмента
04 — запись расширенного линейного адреса
05 — запись начального линейного адреса ( МДК-АРМ Только) - дд это поле данных, представляющее один байт данных.Запись может иметь несколько байтов данных. Количество байтов данных в записи должно соответствует номеру, указанному в поле ll .
- cc поле контрольной суммы, представляющее контрольную сумму записи. Контрольная сумма вычисляется путем суммирования значений всех шестнадцатеричных пары цифр в записи по модулю 256 и взяв двойку дополнение.
Записи данных
Файл Intel HEX состоит из любого количества записей данных, которые завершаются возвратом каретки и переводом строки.Записи данных выглядят следующим образом:
: 10246200464C5549442050524F46494C4500464C33
Эта запись расшифровывается следующим образом:
: 10246200464C5549442050524F46494C4500464C33
||||||||||| CC-> Контрольная сумма
||||||||| DD-> Данные
||||||| TT-> Тип записи
||| AAAA-> Адрес
| LL-> Длина записи
: -> Двоеточие
где:
- 10 — количество байтов данных в записывать.
- 2462 — это адрес, по которому должны быть данные находится в памяти.
- 00 — это тип записи 00 (запись данных).
- 464C … 464C — это данные.
- 33 — контрольная сумма записи.
Расширенная линейная Адресные записи (HEX386)
Записи расширенного линейного адреса также известны как 32-битный адрес. записи и записи HEX386.Эти записи содержат старшие 16 бит (биты 16-31) адреса данных. Расширенная линейная адресная запись всегда имеет два байта данных и выглядит следующим образом:
: 02000004FFFFFC
где:
- 02 — количество байтов данных в записывать.
- 0000 — это адресное поле. Для расширенного запись линейного адреса, это поле всегда 0000.
- 04 — тип записи 04 (расширенный линейный адресная запись).
- FFFF — это старшие 16 бит адреса.
- FC — это контрольная сумма записи,
рассчитывается как
01h + NOT (02h + 00h + 00h + 04h + FFh + FFh).
При чтении расширенной линейной адресной записи расширенный линейный адрес, хранящийся в поле данных, сохраняется и применяется к последующие записи читаются из файла Intel HEX.Линейный адрес остается в силе до тех пор, пока не будет изменен другим расширенным адресом записывать.
Адрес абсолютной памяти записи данных получается добавлением адресное поле в записи на смещенные адресные данные из расширенная линейная адресная запись. Следующий пример иллюстрирует этот процесс ..
Адрес из адресного поля записи данных 2462
Поле данных расширенной линейной записи адреса FFFF
--------
Адрес абсолютной памяти FFFF2462
Расширенный сегмент Адресные записи (HEX86)
Записи расширенного сегмента, также известные как HEX86 записи — содержат биты 4-19 сегмента адреса данных.Расширенный запись адреса сегмента всегда имеет два байта данных и отображается как следует:
: 020000021200EA
где:
- 02 — количество байтов данных в записывать.
- 0000 — это адресное поле. Для расширенного запись адреса сегмента, это поле всегда 0000.
- 02 — это тип записи 02 (расширенный сегмент адресная запись).
- 1200 — сегмент адреса.
- EA — это контрольная сумма записи,
рассчитывается как
01ч + НЕ (02ч + 00ч + 00ч + 02ч + 12ч + 00ч).
При чтении записи адреса расширенного сегмента расширенный адрес сегмента, хранящийся в поле данных, сохраняется и применяется к последующие записи читаются из файла Intel HEX. Адрес сегмента остается в силе до тех пор, пока не будет изменен другим расширенным адресом записывать.
Адрес абсолютной памяти записи данных получается добавлением адресное поле в записи к данным смещенного адреса из запись адреса расширенного сегмента. Следующий пример иллюстрирует этот процесс.
Адрес из адресного поля записи данных 2462
Поле данных 1200 записи адреса расширенного сегмента
--------
Абсолютный адрес памяти 00014462
Начало линейного Адресные записи (только MDK-ARM)
Записи начального линейного адреса определяют начальный адрес заявление.Эти записи содержат полный линейный 32-битный адрес. Запись начального линейного адреса всегда имеет четыре байта данных и выглядит следующим образом:
: 04000005000000CD2A
где:
- 04 — количество байтов данных в записывать.
- 0000 — это адресное поле. Для начала запись линейного адреса, это поле всегда 0000.
- 05 — тип записи 05 (начальная линейная адресная запись).
- 000000CD — 4-байтовый линейный начальный адрес приложение.
- 2A — контрольная сумма записи,
рассчитывается как
01ч + НЕ (04ч + 00ч + 00ч + 05ч + 00ч + 00ч + 00ч + CDh).
Начальный линейный адрес указывает адрес __main (pre-main), но не адрес кода запуска, который обычно вызывает __main после вызова SystemInit ().Странное линейное начало адрес указывает, что __main скомпилирован для инструкции Thumb набор.
Запись начального линейного адреса может располагаться в любом месте шестнадцатеричного файла. В большинстве случаев эту запись можно игнорировать, потому что она не содержит информация, необходимая для программирования флэш-памяти.
Записи о конце файла (EOF)
Файл Intel HEX должен заканчиваться записью конца файла (EOF). Этот запись должна иметь значение 01 в поле типа записи.Запись EOF всегда выглядит следующим образом:
: 00000001FF
где:
- 00 — количество байтов данных в записывать.
- 0000 — это адрес, по которому данные должны быть находится в памяти. Адрес в записях конца файла: бессмысленно и игнорируется. Типичный адрес 0000h.
- 01 — тип записи 01 (конец файла записывать).
- FF — контрольная сумма записи,
рассчитывается как
01ч + НЕ (00ч + 00ч + 00ч + 01ч).
Пример файла Intel HEX
Ниже приведен пример полного файла Intel HEX:
.
: 10001300AC12AD13AE10AF1112002F8E0E8F0F2244
: 10000300E50B250DF509E50A350CF5081200132259
: 03000000020023D8
: 0C002300787FE4F6D8FD7581130200031D
: 10002F00EFF88DF0A4FFEDC5F0CEA42EFEEC88F016
: 04003F00A42EFE22CB
: 00000001FF
СМОТРИ ТАКЖЕ
СМОТРИ ТАКЖЕ 8051
Последняя редакция: 25 февраля 2021 г., четверг
Format-Hex (Microsoft.PowerShell.Utility) — PowerShell | Документы Microsoft
Отображает файл или другой ввод как шестнадцатеричный.
В этой статье
Синтаксис
Формат-шестнадцатеричный
[-Path]
[-Count ]
[-Offset ]
[<Общие параметры>]
Формат-шестнадцатеричный
-LiteralPath
[-Count ]
[-Offset ]
[<Общие параметры>]
Формат-шестнадцатеричный
-InputObject
[-Encoding ]
[-Count ]
[-Offset ]
[-Сырой]
[<Общие параметры>]
Описание
Командлет Format-Hex
отображает файл или другой ввод в виде шестнадцатеричных значений.Чтобы определить
смещения символа из вывода, добавьте число в крайней левой части строки к числу в
верхняя часть столбца для этого персонажа.
Командлет Format-Hex
может помочь вам определить тип файла поврежденного файла или файла, который
может не иметь расширения имени файла. Вы можете запустить этот командлет, а затем прочитать шестнадцатеричный вывод
чтобы получить информацию о файле.
При использовании Format-Hex
в файле командлет игнорирует символы новой строки и возвращает все
содержимое файла в одной строке с сохранением символов новой строки.
Примеры
Пример 1. Получить шестнадцатеричное представление строки
Эта команда возвращает шестнадцатеричные значения строки.
«Привет, мир» | Формат-шестнадцатеричный
Ярлык: String (System.String) <2944BEC3>
Смещение байтов Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ -------------------------------------------- --- -----
0000000000000000 48 65 6C 6C 6F 20 57 6F 72 6C 64 Hello World
Строка Hello World отправляется по конвейеру в командлет Format-Hex
.Шестнадцатеричный
вывод Format-Hex
показывает значения каждого символа в строке.
Пример 2: Найти тип файла из шестнадцатеричного вывода
В этом примере используется шестнадцатеричный вывод для определения типа файла. Командлет отображает файл полный путь и шестнадцатеричные значения.
Чтобы проверить следующую команду, сделайте копию существующего файла PDF на локальном компьютере и переименуйте его.
скопированный файл в File.t7f
.
Формат-Шестнадцатеричный-Путь.\ File.t7f -Счет 48
Ярлык: C: \ Test \ File.t7f
Смещение байтов Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ -------------------------------------------- --- -----
0000000000000000 25 50 44 46 2D 31 2E 35 0D 0A 25 B5 B5 B5 B5 0D% PDF-1.5 ..% ????.
0000000000000010 0A 31 20 30 20 6F 62 6A 0D 0A 3C 3C 2F 54 79 70 .1 0 obj .. << / Тип
0000000000000020 65 2F 43 61 74 61 6C 6F 67 2F 50 61 67 65 73 20 e / Каталог / Страницы
Командлет Format-Hex
использует параметр Path для указания имени файла в текущем каталоге, Файл.Т7Ф
. Расширение файла .t7f
встречается редко, но шестнадцатеричный вывод % PDF
показывает, что это
это файл PDF. В этом примере параметр Count используется для ограничения вывода до первых 48
байтов файла.
Пример 3: Форматирование массива разных типов данных
В этом примере используется массив различных типов данных, чтобы показать, как Format-Hex
обрабатывает их в
Трубопровод.
Он будет передавать каждый объект через конвейер и обрабатывать отдельно.Однако, если это числовой data, а соседний объект также числовой, он сгруппирует их в один выходной блок.
'Привет, мир!', 1, 1138, 'foo', 'bar', 0xdeadbeef, 1gb, 0b1101011100, $ true, $ false | Формат-шестнадцатеричный
Ярлык: String (System.String) <24F1F0A3>
Смещение байтов Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ -------------------------------------------- --- -----
0000000000000000 48 65 6C 6C 6F 20 77 6F 72 6C 64 21 Привет, мир!
Этикетка: Int32 (System.Int32) <2EB933C5>
Смещение байтов Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ -------------------------------------------- --- -----
0000000000000000 01 00 00 00 72 04 00 00 � r�
Ярлык: String (System.String) <4078B66C>
Смещение байтов Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ -------------------------------------------- --- -----
0000000000000000 66 6F 6F foo
Ярлык: String (System.Строка) <51E4A317>
Смещение байтов Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ -------------------------------------------- --- -----
0000000000000000 62 61 72 бар
Ярлык: Int32 (System.Int32) <5ADF167B>
Смещение байтов Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ -------------------------------------------- --- -----
0000000000000000 EF BE AD DE 00 00 00 40 5C 03 00 00 ï¾-Þ @ \ �
Ярлык: Boolean (System.Логическое значение) <7D8C4C1D>
Смещение байтов Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ -------------------------------------------- --- -----
0000000000000000 01 00 00 00 00 00 00 00 -
Параметры
-Счет
Представляет количество байтов, включаемых в шестнадцатеричный вывод.
Этот параметр появился в PowerShell 6.2.
Тип: | Int64 | |
Позиция: | Именованный | |
Значение по умолчанию: | Int64.MaxValue | |
Принять ввод конвейера: | Ложные символы Ложь |
-Encoding
Задает кодировку входных строк. Это применимо только к входу [строка]
. Параметр
не влияет на числовые типы.Выходное значение всегда utf8NoBOM
.
Допустимые значения этого параметра следующие:
-
ascii
: использует кодировку для набора символов ASCII (7-бит). -
bigendianunicode
: кодирует в формате UTF-16, используя порядок байтов с прямым порядком байтов. -
bigendianutf32
: кодирует в формате UTF-32, используя порядок байтов с прямым порядком байтов. -
oem
: Использует кодировку по умолчанию для MS-DOS и консольных программ. -
unicode
: кодирует в формате UTF-16, используя порядок байтов с прямым порядком байтов. -
utf7
: кодирует в формате UTF-7. -
utf8
: кодирует в формате UTF-8. -
utf8BOM
: кодирует в формате UTF-8 с меткой порядка байтов (BOM) -
utf8NoBOM
: кодирует в формате UTF-8 без метки порядка байтов (BOM) -
utf32
: кодирует в формате UTF-32.
Начиная с PowerShell 6.2, параметр Encoding также позволяет использовать числовые идентификаторы зарегистрированного кода.
страниц (например, -Encoding 1251
) или строковых имен зарегистрированных кодовых страниц (например, -Кодирование "windows-1251"
). Для получения дополнительной информации см. Документацию .NET для
Encoding.CodePage.
Примечание
UTF-7 * больше не рекомендуется использовать. В PowerShell 7.1 предупреждение пишется, если вы
укажите utf7
для параметра Encoding .
Тип: | Кодировка | |||
Допустимые значения: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM | 903 значение: | UTF8NoBOM | |
Принять ввод конвейера: | Ложь | |||
Принять символы подстановки: | Ложь |
-InputObject
Используется для ввода в трубопровод.Ввод конвейера поддерживает только определенные скалярные типы и [system.io.fileinfo]
экземпляры для трубопровода из Get-ChildItem
.
Поддерживаемые скалярные типы:
-
[строка]
,[символ]
-
[байт]
,[сбайт]
-
[int16]
,[uint16]
,[короткий]
,[ushort]
-
[int]
,[uint]
,[int32]
,[uint32]
, -
[длинный]
,[ulong]
,[int64]
,[uint64]
-
[одинарный]
,[плавающий]
,[двойной]
-
[логический]
До PowerShell 6.2, Format-Hex
будет обрабатывать ввод конвейера с несколькими типами ввода с помощью
группировать все похожие объекты вместе. Теперь он обрабатывает каждый отдельный объект, когда он проходит через
Конвейер и не будет группировать объекты вместе, если похожие объекты не являются смежными.
Тип: | PSObject | ||
Позиция: | Именованный | ||
Значение по умолчанию: | Нет | ||
Принять ввод конвейера: | Истинный | Подстановочные символы | Принять подстановочные символы |
-LiteralPath
Задает полный путь к файлу.Значение LiteralPath используется точно так, как оно набрано. Этот параметр не принимает подстановочные знаки. Чтобы указать несколько путей к файлам, разделите пути через запятую. Если параметр LiteralPath включает escape-символы, заключите путь в одинарные кавычки. PowerShell не интерпретирует символы в одной строке в кавычках как escape-последовательности. Для получения дополнительной информации см. About_Quoting_Rules.
Тип: | Строка [] | ||
Псевдонимы: | PSPath, LP | ||
Позиция: | Именованный | ||
Значение по умолчанию: | Нет | 903 Ложь | |
Принимать подстановочные знаки: | Ложь |
-Смещение
Это количество байтов, которые нужно пропустить из шестнадцатеричного вывода.
Этот параметр появился в PowerShell 6.2.
Тип: | Int64 | |
Позиция: | Именованный | |
Значение по умолчанию: | 0 | |
Принять конвейерный ввод: | Ложный |
- путь
Задает путь к файлам. Используйте точку (.
), чтобы указать текущее местоположение.Подстановочный знак
( *
) принимается и может использоваться для указания всех элементов в местоположении. Если параметр Path включает escape-символы, заключите путь в одинарные кавычки. Чтобы указать несколько путей к
файлы, разделяйте пути запятыми.
Тип: | Строка [] | ||||
Позиция: | 0 | ||||
Значение по умолчанию: | Нет | ||||
Принять ввод конвейера: | Принять подстановочные знаки | Ложный |
-Raw
Этот параметр больше ничего не делает.Он сохранен для совместимости скриптов.
Тип: | SwitchParameter | |
Позиция: | Именованный | |
Значение по умолчанию: | Нет | |
Принять ввод конвейера: | Ложный | 903 Подстановочные символы Ложный 903
Входы
Строка
Этому командлету можно передать строку по конвейеру.
Выходы
Коллекция байтов
Этот командлет возвращает ByteCollection .Этот объект представляет собой набор байтов. Это включает в себя
методы, которые преобразуют коллекцию байтов в строку, отформатированную как каждая возвращенная строка вывода
по Format-Hex
. В выходных данных также указывается тип обрабатываемых байтов. Если вы укажете Path или LiteralPath параметр, объект содержит путь к файлу, который содержит
каждый байт. Если вы передадите строку, логическое значение, целое число и т. Д., Он будет соответствующим образом помечен.
Банкноты
Самый правый столбец вывода пытается отобразить байты как символы ASCII:
Обычно каждый байт интерпретируется как кодовая точка Unicode, что означает, что:
- Печатные символы ASCII всегда отображаются правильно
- Многобайтовые символы UTF-8 никогда не отображаются правильно
- символов UTF-16 отображаются правильно, только если их старший байт имеет значение
NUL
.
Форматы: HEX
Форматы: HEXПреобразует шестнадцатеричные положительные двоичные значения в целые числа. (с фиксированной точкой) или действительные (с плавающей точкой) значения.
Диапазон ширины: | 1–16 |
Ширина по умолчанию: | 8 |
Выравнивание: | осталось |
Особенности CMS: | Формат с плавающей запятой IBM |
- w
- определяет ширину поля вывода value и определяет, является ли вывод целым или действительным двоичным значением.
Формат HEX преобразует реальный двоичный код (с плавающей запятой) числа в шестнадцатеричном представлении. Каждая записанная шестнадцатеричная цифра в коде EBCDIC используется один байт на цифру. Например, с плавающей точкой Число 1.0 имеет шестнадцатеричное значение 'F1'x (EBCDIC 1) с использованием HEX1. формат.
Значение w в формате HEX определяет ширина значения и записывается ли число в виде числа с плавающей запятой число или целое число. Когда вы указываете значение ширины от 1 до 15, реальные двоичные числа перед записью обрезаются до целых чисел с фиксированной запятой в шестнадцатеричные значения.Однако, когда вы указываете 16 для ширины, с плавающей запятой записывается значение, а числа не усекаются. Например, если значение Y равно 31,5, и вы используете следующий оператор PUT, чтобы записать его в SAS log записывается следующее шестнадцатеричное значение в коде EBCDIC:
положить y hex16 .; 421F800000000000 ('F4F2F1C6F8F0F0F0F0F0F0F0F0F0F0F0'x)
Результат показывает шестнадцатеричное значение для CMS с плавающей запятой. Представительство 31.5. Значение числа с плавающей запятой выглядит следующим образом: первый бит этого числа является битом знака, а следующие семь битов - характеристика или показатель степени.Поскольку бит знака равен 0, число положительное. Чтобы вычислить показатель степени из характеристики, необходимо вычесть шестнадцатеричное число. 40 из числа. Вычитание '40'x из' 42'x дает разницу в '02'x. Таким образом, показатель степени равен 2 16 . Последняя часть числа с плавающей запятой число, биты с 8 по 63, представляет дробь. Поскольку показатель степени равен 2 16 , точка системы счисления перемещается на два места вправо, давая значение '1F.8'x, что является шестнадцатеричным эквивалентом десятичного 31.5.
Если вы установите переменную Y равной -31,5, вы получите следующий результат с указанной шириной 16:
C21F800000000000 ('C3F2F1C6F8F0F0F0'x)
Единственное отличие этого примера от первого Примером является изменение первой цифры с «4'x» на «C'x». Это происходит потому что бит знака был изменен с 0 на 1, если вы установите переменную Y равно -31,5.
Однако, если вы измените формат на HEX15. во-первых Например, результат записывает следующее шестнадцатеричное значение в коде EBCDIC:
'00000000000001F'x (' F0F0F0F0F0F0F1C6'x)
Этот пример иллюстрирует результат, когда значение ширины меньше 16.Здесь система SAS сначала преобразует 31,5 в целое число путем усечения числа до 31. Затем результат печатается в указанное количество шестнадцатеричных цифр.
При ширине менее 16 отрицательное число с плавающей запятой число сначала обрезается до целого числа, а затем печатается с дополнением до двух форма. Следовательно, когда формат HEX15. указано для Y = -31,5, результат составляет:
FFFFFFFFFFFFFE1 ('C6C6C6C6C6C6C5F1'x)
Авторские права 1999 г., SAS Institute Inc., Кэри, Северная Каролина, США. Все права защищены.
Какой формат у шестнадцатеричных файлов Intel (.hex)?
HEX часто загружается с ПК в систему разработки и запускается из ОЗУ. HEX также можно преобразовать в двоичные файлы и запрограммировать в устройство конфигурации.Пример HEX показан ниже:
: 10008000AF5F67F0602703E0322CFA92007780C361
: 1000
: 0B00A00080FA92006F3600FFC34600076C
Формат этого файла:
Первый символ (:) = начало записи
Следующие два символа = длина записи (в этом примере 10h)
Следующие четыре символа = адрес загрузки (в этом примере 0080h)
Далее два символа = тип записи (см. ниже)
Остальные символы = фактические данные
Последние два символа = контрольная сумма (т.е.е., сумма всех байтов + контрольная сумма = 00)
Последняя строка файла особенная и всегда выглядит как последняя строка, показанная выше. Типы записей HEX показаны ниже:
00 = Запись данных
01 = Запись конца файла
02 = Запись адреса расширенного сегмента
03 = Запись адреса начального сегмента
04 = Запись расширенного линейного адреса
05 = Запись начального линейного адреса
У меня к вам вопрос.
Преобразования системы счисления
При написании программ для микроконтроллеров мы обычно используем 3 разных системы счисления: десятичную, двоичную и шестнадцатеричную (или шестнадцатеричную). Мы используем десятичные числа, потому что они естественны; так мы считаем. К сожалению, компьютеры так не считают. Поскольку компьютеры и микроконтроллеры могут использовать только единицы и нули, для их подсчета используются последовательности этих чисел. Это двоичная система счисления. Двоичные числа обычно начинаются с символа «0b», который не является частью числа.Иногда они также подразделяются на группы по 4 цифры, чтобы облегчить их чтение, а также облегчить их привязку к шестнадцатеричной системе счисления. Пример двоичного числа - 0b0100.1011. Точки в номере ничего не обозначают, они просто облегчают чтение числа.
Двоичная система проста для понимания, но для использования двоичной системы для представления больших чисел требуется много цифр. Шестнадцатеричная система может представлять гораздо большие числа с использованием меньшего количества символов и очень напоминает двоичные числа.Шестнадцатеричные числа обычно начинаются с префикса «0x», который не является частью числа. Одна шестнадцатеричная цифра может представлять четыре двоичных цифры!
Двоичные числа могут состоять только из единиц и нулей; обычно двоичное число состоит из 8 цифр (или кратно 8), если оно используется в каком-либо компьютере (или микроконтроллере). Полезно знать, как преобразовать двоичное число в десятичное и наоборот. Итак, как нам переводить между системами счисления? Сначала рассмотрим, как мы определяем значение десятичного числа.0). Есть два важных числа, которые мы должны знать, чтобы «деконструировать» число - основание системы счисления и расположение цифры в числе. Основание десятичного числа - 10. Когда мы преобразуем число 268, 2 - это вторая цифра, 6 - первая цифра, а 8 - нулевая цифра. Каждую цифру необходимо масштабировать в соответствии с ее местом в числе. Масштаб цифры - это основание системы счисления, возведенное в степень расположения цифры в числе. Таким образом, каждое число масштабируется, а затем все масштабированные цифры складываются, чтобы найти общее значение числа.0), что равно 181.
0b1011.0101. Какой совершенно неэффективный способ набора числа! Но мы можем представить одно и то же двоичное число, используя только 2 шестнадцатеричные цифры. Однако сначала мы начнем с преобразования шестнадцатеричного (шестнадцатеричного) числа в десятичное, как мы это сделали для двоичного числа. Как насчет 0xB5? Чего ждать?! Префикс 0x используется в коде, чтобы указать, что число записывается в шестнадцатеричном формате. Но что там делает «Би»? Шестнадцатеричный формат имеет основание 16, что означает, что каждая цифра может представлять до 16 различных значений.0) или 181.
Знание того, как преобразовать двоичное и шестнадцатеричное в десятичное, важно, но наиболее полезным преобразованием чисел, вероятно, является преобразование из шестнадцатеричного в двоичное. Эти две системы нумерации действительно очень хорошо работают вместе. Системы счисления связаны таким образом, что одна шестнадцатеричная цифра представляет ровно 4 двоичных цифры, и поэтому две шестнадцатеричные цифры могут представлять 8 бит (или двоичных цифр). Вот таблица, которая показывает, как каждая шестнадцатеричная цифра связана с двоичной системой:
Двоичное значение | Шестнадцатеричное значение |
0000 | 0 |
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
Например, чтобы преобразовать шестнадцатеричное число 0x1C в двоичное, мы должны найти соответствующее двоичное значение для 1 и C и объединить их.Итак, 0x1C в двоичном формате - это 0b0001.1100. Если мы хотим вычислить шестнадцатеричное значение двоичного числа, мы просто пойдем другим путем. Чтобы найти шестнадцатеричное представление двоичного числа 0b0010.1011, мы сначала находим шестнадцатеричное значение для 0010, затем шестнадцатеричное значение для 1011 и объединяем их; шестнадцатеричное значение будет 0x2B.
Существует множество бесплатных инструментов для преобразования между этими системами нумерации, просто «преобразование шестнадцатеричных чисел в Google». Если вы используете Windows в качестве операционной системы, у вас есть отличный инструмент, встроенный в калькулятор.Просто переключите калькулятор в научный режим, и вы можете конвертировать между системами счисления, набрав число, а затем изменив формат калькулятора!
srec_ascii_hex (5): формат файла Ascii-Hex - справочная страница Linux
Имя
srec_ascii_hex - Формат файла Ascii-Hex
Описание
Этот формат также известен как формат Ascii-Space-Hex или Ascii-Hex-Space . Если вы знаете, кто изобрел этот формат, дайте мне знать.если ты есть лучшее или более полное описание, я бы тоже хотел это знать.
Файл начинается с символа начала текста (STX или Control-B) (0x02). Все, что было до STX, игнорируется.
Каждый байт данных представлен двумя шестнадцатеричными символами, за которыми следует «символ выполнения». Символ выполнения по умолчанию - пробел, хотя многие программы, которые пишут этот формат, пропускают символ пробела, непосредственно предшествующий концу строки.
Адрес для байтов данных устанавливается с использованием последовательности символов $ A nnnn , где nnnn - это 4-символьный ascii. представление адреса.Запятая обязательна. В адресной записи нет необходимости, если нет пробелов. Неявно файл начинает адрес 0, если перед первым байтом данных адрес не устанавливается.
Файл заканчивается символом конца текста (ETX или Control-C) (0x03). Все, что следует за ETX, игнорируется.
Также возможно указать текущую 16-битную контрольную сумму, используя последовательность символов $ S nnnn , хотя обычно это появляется после символа ETX и поэтому часто игнорируется.
Варианты форм
- В дополнение к пробелу, символ выполнения также может быть в процентах (%), который называется форматом «ascii-шестнадцатеричный процент», апострофом (') или запятой (,).
Формат "ascii-hex-comma". В файле должен использоваться один и тот же символ выполнения.
Если символ выполнения - запятая, команды адреса и контрольной суммы заканчиваются точкой (.), А не запятой (,).
Множитель размера
- Как правило, размер двоичных данных увеличивается примерно на 3.C
Авторские права
srec_cat версия 1.56
Авторские права © 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Питер Миллер
Программа srec_cat поставляется СОВЕРШЕННО БЕЗ ГАРАНТИЙ; для получения дополнительных сведений используйте команду ' srec_cat -VERSion License '. Это бесплатное программное обеспечение, и вы могут распространять его при определенных условиях; для получения дополнительных сведений используйте команду ' srec_cat -VERSion License '.
Автор
Ссылка на
srec_cat (1), srec_input (1), шестнадцатеричный формат - PowerShell - SS64.com
шестнадцатеричный формат - PowerShell - SS64.comОтображает файл или другой ввод как шестнадцатеричный.
Синтаксис Format-Hex [-Encoding {Ascii | UTF32 | UTF7 | UTF8 | BigEndianUnicode | Unicode}] -InputObject Object [-Raw] [ CommonParameters ] Format-Hex -LiteralPath String [] [ CommonParameters ] Format-Hex [-Path] String [] [ CommonParameters ] Ключ: -Кодирование Строка Задает тип кодировки символов, используемый в файле, который этот командлет форматирует как шестнадцатеричный.В допустимые значения для этого параметра: Ascii, UTF32, UTF7, UTF8, BigEndianUnicode, Unicode Значение по умолчанию - Юникод. -InputObject Объект Используется для ввода в трубопровод. Входные данные конвейера поддерживают только определенные скалярные типы и экземпляры [system.io.fileinfo] для конвейерной передачи из Get-ChildItem. Поддерживаемые скалярные типы: [string], [byte], [int], [int32], [long], [int64] -LiteralPath Строка [] Массив буквальных путей к элементам.Этот параметр не принимает подстановочные знаки. Чтобы указать несколько путей к файлам, разделите пути запятыми. Чтобы использовать подстановочные знаки, вместо этого укажите параметр -Path. Если этот параметр включает escape-символы, заключите путь в одинарные кавычки. -Path String [] Путь к файлам. Используйте точку (.), Чтобы указать текущее местоположение. Подстановочный знак (*) разрешен и может использоваться для указания всех элементов в местоположении.Если параметр Path включает escape-символы, заключите путь в одинарные кавычки. Чтобы указать несколько путей к файлам, разделите пути запятыми. -Сырой По умолчанию Format-Hex выбирает компактный вывод числовых типов данных: однобайтовые или двухбайтовые последовательности. используются, если значение достаточно мало. Параметр Raw отключает это поведение.
Стандартные псевдонимы для шестнадцатеричного формата: fhx
Format-Hex отображает файл или другой ввод в виде шестнадцатеричных значений.Чтобы определить смещение символа из вывода, добавьте число в крайнем левом углу строки к числу в верхней части столбца для этого символа. Этот командлет может помочь вам определить тип поврежденного файла или файла, который может не иметь расширения имени файла. Запустите этот командлет, а затем проверьте результаты на предмет информации о файле.