Как рассматривать два символа в строке как байт?
Рассматривать:
$tag = "4F";
$ tag - это строка, содержащая два символа: "4" и "F". Я хочу иметь возможность рассматривать их как верхний и нижний полубайты, соответственно, целого байта (4F), чтобы я мог продолжить вычисление битовых комбинаций (01001111)
Поскольку это технически символы, они могут обрабатываться по-своему как байт каждый - 4 в таблице ASCII - 0x52, а F - 0x70.
Практически все встроенные функции PHP, которые позволяют манипулировать байтами (что я видел до сих пор), являются вариациями в последнем описании: "4" - это 0x52, а не верхняя часть байта.
Я не знаю ни одного быстрого или встроенного способа заставить PHP справиться с этим так, как я хочу, но кажется, что он должен быть там.
Как мне преобразовать строку "4F" в байт 4F, или обработать каждый символ как клев в паре клев. Существуют ли какие-либо встроенные функции, позволяющие PHP обрабатывать такие строки, как "4F" или "3F0E", как пары кусочков?
Благодарю.
1 ответ
Если вы хотите "десятичное представление шестнадцатеричной цифры", hexdec
это один из способов пойти.
Если вы хотите "битовый шаблон для шестнадцатеричной цифры", то используйте base_convert
, Документы даже показывают пример этого маневра:
Пример #1 Пример base_convert()
$hexadecimal = 'a37334';
echo base_convert($hexadecimal, 16, 2);
Приведенный выше пример выведет:
101000110111001100110100