」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 PHP 中將字串轉換為二進位並傳回?

如何在 PHP 中將字串轉換為二進位並傳回?

發佈於2024-11-08
瀏覽:817

How to Convert Strings to Binary and Back in PHP?

在 PHP 中轉換二進位和字串:綜合指南

在 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));

字串轉二進位:

[我們可以轉換為二進位:&]點。 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";
輸出:

二進位:0101001101110100011000010110001101101011 String: Stack
Binary: 0101001101110100011000010110001101101011
String: Stack
利用這些函數,我們可以在PHP中有效地在字串和二進位之間進行轉換。這些知識對於資料加密、文件操作和各種其他任務非常寶貴。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3