При работе с данными в PHP часто необходимо конвертировать между различными форматами. Одно из распространенных преобразований — между строками и двоичными числами. Будь то безопасное хранение данных или оптимизация производительности, важно понимать, как конвертировать эти форматы.
Как преобразовать строку в двоичный формат, а затем преобразовать ее обратно в строку в стандартной библиотеке PHP? Это общая потребность в безопасном хранении и манипулировании данными.
В отличие от некоторых языков программирования, PHP не имеет встроенной функции для прямого преобразования строки в двоичный формат. Однако эта функциональность может быть достигнута с помощью комбинации функций package() и base_convert().
Чтобы преобразовать двоичную строку обратно в исходную строку, мы можем использовать команду package () и base_convert(). Функция package() принимает строку формата и строку двоичных данных и объединяет их для создания строки. В нашем случае строка формата — «H*», что означает шестнадцатеричную строку. Функция base_convert() преобразует строку из одной базы в другую. В этом случае мы конвертируем шестнадцатеричную строку в набор символов ASCII:
// Convert binary into a string
$string = pack('H*', base_convert('0101001101110100011000010110001101101011', 2, 16));
Чтобы преобразовать строку в двоичный файл, мы можем использовать unpack( ) и base_convert(). Функция unpack() принимает строку формата и строку и извлекает данные из строки в соответствии с указанным форматом. В нашем случае мы указываем формат «H*» для извлечения шестнадцатеричных данных. Функция base_convert() преобразует строку из одной базы в другую. Здесь мы преобразуем строку ASCII в шестнадцатеричную строку, которая представляет двоичное представление:
// Convert a string into binary
$binary = unpack('H*', 'Stack');
echo base_convert($binary[1], 16, 2);
Давайте объединим все это на примере:
// Convert "Stack" to binary
$binary = unpack('H*', 'Stack');
$binaryString = base_convert($binary[1], 16, 2);
echo "Binary: $binaryString\n";
// Convert binary back to "Stack"
$asciiString = pack('H*', base_convert($binaryString, 2, 16));
echo "String: $asciiString\n";
Вывод:
Binary: 0101001101110100011000010110001101101011 String: Stack
Используя эти функции, мы можем эффективно преобразовывать строки в двоичные файлы в PHP. Эти знания бесценны для шифрования данных, манипулирования файлами и решения множества других задач.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3