Как рассматривать два символа в строке как байт?

Рассматривать:

$tag = "4F";

$ tag — это строка, содержащая два символа: «4» и «F». Я хочу иметь возможность обрабатывать их как верхний и нижний полубайты, соответственно, целого байта (4F), чтобы можно было продолжить вычисление битовых комбинаций (01001111)

Поскольку это технически символы, они могут обрабатываться по-своему как байт каждый — 4 в таблице ASCII — 0x52, а F — 0x70.

Практически все встроенные функции PHP, которые позволяют манипулировать байтами (что я видел до сих пор), являются вариациями последнего описания: «4» — это 0x52, а не верхняя часть байта.

Я не знаю ни одного быстрого или встроенного способа заставить PHP справиться с этим так, как я хочу, но кажется, что он должен быть там.

Как мне преобразовать строку «4F» в байт 4F, или обработать каждый символ как клев в паре клев. Существуют ли какие-либо встроенные функции, позволяющие PHP обрабатывать такие строки, как «4F» или «3F0E», как пары кусочков?

Благодарю.

3

Решение

Если вы хотите «десятичное представление шестнадцатеричной цифры», hexdec это один из способов пойти.

Если вы хотите «битовый шаблон для шестнадцатеричной цифры», то используйте base_convert. Документы даже показывают пример этого маневра:

Пример # 1 Пример base_convert ()

$hexadecimal = 'a37334';
echo base_convert($hexadecimal, 16, 2);

Приведенный выше пример выведет:

101000110111001100110100

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]