在PHP 中將字串轉換為位元組數組
在PHP 中,有多種方法可以將包含字元和數字的字串轉換為位元組數組。與Java 的getBytes() 方法類似,這裡有一些實作此轉換的方法:
使用ord() 函數
使用以下指令循環遍歷字串中的每個字元strlen()。對於每個字符,使用 ord() 函數取得其 ASCII 整數值。將這些值儲存在數組或位元組數組中。
for ($i = 0; $i < strlen($msg); $i++) { $data[] = ord($msg[$i]); // Store in an array // or $byte_array .= ord($msg[$i]); // Concatenate in a byte array }
使用unpack() 函數
PHP 的unpack() 函數提供了一種簡潔的方法來轉換字串轉換為整數值的結構化數組。它允許您將字串中的字元提取並重新解釋為單獨的位元組。
$byte_array = unpack('C*', 'The quick fox jumped over the lazy brown dog'); var_dump($byte_array);
請注意,$byte_array 陣列中的值是表示每個字元的 ASCII 代碼的整數,範圍從 0 到 255。
考慮到提供的原始程式碼片段,您似乎試圖將字元轉換為十六進位值而不是整數值。為此,您可以在取得字元的ASCII 程式碼後使用bin2hex() 函數:
for ($i = 0; $i < strlen($msg); $i++) { $data .= bin2hex(chr(ord($msg[$i]))); // Convert to hex and concatenate }
附加說明
以上是如何將 PHP 字串轉換為位元組數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!