Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/19: Рейтинг темы: голосов - 19, средняя оценка - 4.63
2 / 2 / 3
Регистрация: 02.07.2013
Сообщений: 148

Преобразовать hex в число UInt8

17.09.2018, 21:04. Показов 4046. Ответов 24

Студворк — интернет-сервис помощи студентам
Добрый день, уважаемые форумчане. Вопрос следующий.
Вот кусок файла, открытый через hex editor:



Мне нужно получить значение 88... Как я только не садился - 88 не получалось.. и hex2bin, и bin2dec, и unpack() и прочие функции использовал - нужного результата нет... Этот файл я обрабатываю так, что на выходе у меня получается hex
Название: 1234.png
Просмотров: 44

Размер: 4.2 Кб

Мне его и нужно преобразовать в 88..

Помогите, как мне это сделать?..
Изображения
 
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.09.2018, 21:04
Ответы с готовыми решениями:

Преобразовать число и вывести в hex
Всем ПРИВЕТ! Помогите, пожалуйста, разобраться с кодом написанным на Си подобном языке. Программа взята из реально работающего проекта....

Как преобразовать hex в ascii (HEX редактор)
Написал: String ^in; openFileDialog1->Filter = "hex Files|*.hex"; openFileDialog1->Title = "Select a hex File"; ...

Как разбить одно число HEX число на два числа HEX ?
Задача в том, что бы одно число в виде HEX (к примеру 0xD681) разбить на 2 числа HEX (из 0xD681 - > 0xD6 и 0x81) именно что бы вот так...

24
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
18.09.2018, 18:09
Студворк — интернет-сервис помощи студентам
EndoCrinolog, pack я использовал исключительно чтобы сформировать "строку" состоящую из 4 байтов. 'C' означает unsigned char, т.е байт.
0
2 / 2 / 3
Регистрация: 02.07.2013
Сообщений: 148
18.09.2018, 18:11  [ТС]
Наконец-то... Нашел.
Вот код, который считывает файл, преобразуя его в бинарный вид:
PHP
1
2
3
$s = file_get_contents($FILE);
foreach(unpack("L*", $s) as $n) 
    $buf[] = sprintf("%032b", $n);
Code
1
2
3
4
5
6
7
8
Array
(
    [0] => 00000000000000000011100011100000
    [1] => 00000000000000000101100111000000
    [2] => 00000000000000010100001001011000
    [3] => 00000000000000000000000001101100
    [4] => 00000000000000000000000001101110
    [5] => 00000000000000000000000001101110
Дополнительно нашел код преобразования:
PHP
1
2
3
4
5
6
7
8
9
10
echo bindec($buf[0]);
echo '
';
echo bindec($buf[1]);
echo '
';
echo bindec($buf[2]);
echo '
';
echo chr(bindec($buf[3]));
Получилось:
Code
1
2
3
4
14560
22976
82520
l
Большое спасибо за помощь!
0
Эксперт .NET
 Аватар для Rius
13379 / 7833 / 1696
Регистрация: 25.05.2015
Сообщений: 23,834
Записей в блоге: 14
18.09.2018, 18:11
Цитата Сообщение от EndoCrinolog Посмотреть сообщение
называйте как хотите...
Реверс-инженеринг, reverse engineering.
Цитата Сообщение от EndoCrinolog Посмотреть сообщение
1ый байт - глубина
2ой - ширина
Байты, говорите. И в то же врем вы их зачем оба берёте и меняете местами, после конвертируя в uint16.
Налицо путаница в байтах, и типах uint8, uint16, uint32. В таком случае правильное декодирование формата невозможно.
1
2 / 2 / 3
Регистрация: 02.07.2013
Сообщений: 148
18.09.2018, 18:15  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
В таком случае правильное декодирование формата невозможно
Не совсем в этом разбираюсь... Поэтому, понадобилась помощь.
0
Эксперт .NET
 Аватар для Rius
13379 / 7833 / 1696
Регистрация: 25.05.2015
Сообщений: 23,834
Записей в блоге: 14
18.09.2018, 18:24
Лучший ответ Сообщение было отмечено EndoCrinolog как решение

Решение

Uint8 = 1 байт = unsigned char в C/C++, принимает значения от 0 до 255;
uint16 = 2 байта, значения от 0 до 65535;
uint32 = 4 байта, от 0 до 4294967295.

Байт у вас никак не может быть равен 14560, например.

Для uint16 и uint32 важен порядок байт, из которых он состоит. Т.н. endianness.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.09.2018, 18:24

Преобразовать BYTE в HEX
Я читаю содержимое файла в BYTE и потом хочу вывести его в editbox, но сначала мне нужно преобразовать его в HEX. Тут я не совсем понимаю...

Преобразовать hex в строку
Приветствую. Подскажите как проще сделать. В регистре EAX есть значение, например 2db, нужно записать в буфер значение как текст...

Преобразовать HEX в текст
Добрый день, коллеги. Стоит следующая задача. Есть БД Oracle, в одной из таблиц хранятся HEX значения, которые надо запросом вытащить...

Преобразовать строку в hex
Подскажите пожалуйста! Как преобразовать строку TextBox-a в массив байтов? Ввожу в TextBox "222222" (без кавычек) в listBox...

Преобразовать ASCII в HEX
Добрый день. Есть текстовый файл содержащий в себе hex-содержимое exe файла. Мне нужно получить из этого txt файла exe-шник, поэтому...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ начало и оглавление - Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru