Имя формата кодировки строки

Учитывая вывод следующего утверждения в php

hex2bin(dechex(4112))

И выход для этого

"\020\020"

Я пришел к выводу, что это восьмеричное представление шестнадцатеричного представления указанного выше десятичного значения (4112 -> 0x1010) каждая восьмеричная часть — это то, что находится между обратными слешами. Таким образом, три восьмеричные цифры используются для представления двух шестнадцатеричных цифр. Здесь 0x10 переводит на 020 в восьмеричном, поэтому мы получаем \020\020 за 0x1010

Но как называется эта кодировка? Откуда это взялось? Поиски в интернете по этому поводу сильно не помогли


Кроме того, почему следующее утверждение не выполняется?

hex2bin(dechex(123123))

1

Решение

Вы кодируете числа как двоичные данные таким образом, что на первом месте стоит самый значимый байт. Это называется представление с прямым порядком байтов.

Кодирование 123123 с помощью вашего метода завершается неудачно, потому что dechex выдает нечетное число цифр. Вам нужно две шестнадцатеричные цифры, чтобы сделать один байт, поэтому hex2bin требует, чтобы входная строка имела четную длину.

1

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

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

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