首頁  >  文章  >  後端開發  >  php怎麼將字串轉為位元組數組

php怎麼將字串轉為位元組數組

PHPz
PHPz原創
2023-04-20 13:53:461037瀏覽

在PHP中,我們可以使用幾種方法將字串轉換為位元組陣列。在本文中,我們將重點放在兩種最常用的方法。

方法一:使用str_split函數

str_split(string $ string,int $ split_length = 1):將字串拆分為子字串,將它們放在陣列中,並傳回該數組。每個字串的長度將是split_length參數指定的長度。如果未指定split_length,則預設為1。

以下是將字串轉換為位元組數組的範例程式碼:

$str = "Hello World!";
$bytes = str_split($str);

foreach($bytes as $byte) {
    echo ord($byte) . " ";
}

在此範例程式碼中,我們使用了ord函數將每個字元轉換為ASCII碼,並使用foreach循環將位元組數組列印到控制台上。輸出將是:

72 101 108 108 111 32 87 111 114 108 100 33

方法二:使用unpack函數

此方法需要使用pack函數將字串打包為二進位資料。此外,使用unpack函數時需要指定打包的資料類型,並將傳回值轉換為位元組數組。

以下是範例程式碼:

$str = "Hello World!";
$bytes = unpack('C*', pack('H*', bin2hex($str)));

foreach($bytes as $byte) {
    echo $byte . " ";
}

在此範例程式碼中,我們使用了bin2hex將字串轉換為十六進位字串,然後使用pack將其打包為二進位資料。使用unpack時,我們使用C類型共享符號解包數據,並使用foreach循環列印位元組數組。

輸出將是:

72 101 108 108 111 32 87 111 114 108 100 33

綜上所述,這是兩個在PHP中將字串轉換為位元組陣列的方法。對於需要執行各種加密/解密操作的開發人員來說,理解這些方法的工作原理是至關重要的。

以上是php怎麼將字串轉為位元組數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn