首頁 > 後端開發 > php教程 > 如何在 PHP 中將字串轉換為二進位並傳回?

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

DDD
發布: 2024-11-04 03:52:30
原創
708 人瀏覽過

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 字元集:

<code class="php">// Convert binary into a string
$string = pack('H*', base_convert('0101001101110100011000010110001101101011', 2, 16));</code>
登入後複製

字串到二進位:

要將字串轉換為二進位,我們可以使用unpack() 和base_convert( )。 unpack() 函數接受一個格式字串和一個字串,並根據指定的格式從字串中提取資料。在我們的例子中,我們指定格式「H*」來提取十六進位資料。 base_convert() 函數將字串從一種基數轉換為另一種基數。在這裡,我們將ASCII 字串轉換為十六進位字串,它表示二進位表示:

<code class="php">// Convert a string into binary
$binary = unpack('H*', 'Stack');
echo base_convert($binary[1], 16, 2);</code>
登入後複製

範例:

讓我們用一個範例將它們放在一起:

<code class="php">// 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";</code>
登入後複製

輸出:

Binary: 0101001101110100011000010110001101101011
String: Stack
登入後複製

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

以上是如何在 PHP 中將字串轉換為二進位並傳回?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板