在 PHP 中處理資料時,通常需要在不同格式之間進行轉換。一種常見的轉換是字串和二進位之間的轉換。無論是為了安全儲存資料還是優化效能,了解如何在這些格式之間進行轉換至關重要。
如何將字串轉換為二進制,然後將其轉換回字串在標準 PHP 庫中?這是安全資料儲存和操作的常見需求。
與某些程式語言不同,PHP 沒有內建函數來直接將字串轉換為二進位。然而, pack() 和 base_convert() 函數的組合可以實現此功能。
要將二進位字串轉換回其原始字串,我們可以使用 pack () 和 base_convert()。 pack() 函數採用格式字串和二進位資料字串,並將它們組合起來建立一個字串。在我們的例子中,格式字串是“H*”,它表示十六進位字串。 base_convert() 函數將字串從一種基數轉換為另一種基數。本例中,我們將十六進位字串轉換為ASCII字元集:
// Convert binary into a string
$string = pack('H*', base_convert('0101001101110100011000010110001101101011', 2, 16));
// 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";
輸出:二進位:0101001101110100011000010110001101101011
String: StackBinary: 0101001101110100011000010110001101101011 String: Stack利用這些函數,我們可以在PHP中有效地在字串和二進位之間進行轉換。這些知識對於資料加密、文件操作和各種其他任務非常寶貴。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3