在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中文網其他相關文章!