首頁 > 後端開發 > PHP問題 > php字元怎麼轉換成位元組數組

php字元怎麼轉換成位元組數組

PHPz
發布: 2023-04-25 14:10:05
原創
827 人瀏覽過

在PHP程式設計中,我們常常需要將字串轉換成位元組數組。在這篇文章中,我們將介紹如何在PHP中將字元轉換成位元組數組。

1.使用str_split()函數

PHP內建函數str_split()可以將一個字串分割成字元陣列。這個函數將字串作為第一個參數傳遞,第二個參數指定每一組的長度,如果不指定第二個參數,則預設長度為1。以下是一個將字串轉換成位元組數組的範例:

$str = "Hello World";
$bytes = str_split($str);
print_r($bytes);
登入後複製

輸出結果如下:

Array (
    [0] => H
    [1] => e
    [2] => l
    [3] => l
    [4] => o
    [5] =>
    [6] => W
    [7] => o
    [8] => r
    [9] => l
    [10] => d
)
登入後複製

我們可以看到,str_split()函數已經將字串成功地轉換成了位元組數組。

2.使用unpack()函數

PHP內建函數unpack()可以將二進位字串分割成不同的變數。我們可以使用該函數將字串轉換成位元組數組。以下是一個例子:

$str = "Hello World";
$bytes = unpack('C*', $str);
print_r($bytes);
登入後複製

輸出結果如下:

Array(
    [1] => 72
    [2] => 101
    [3] => 108
    [4] => 108
    [5] => 111
    [6] => 32
    [7] => 87
    [8] => 111
    [9] => 114
    [10] => 108
    [11] => 100
)
登入後複製

我們可以看到,unpack()函數已將字串成功地轉換成了位元組數組。

3.使用mb_str_split()函數

如果我們處理的字串包含多字節字符,我們可以使用mb_str_split()函數將字串轉換成字節數組。以下是一個例子:

$str = "你好世界";
$bytes = preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY);
foreach($bytes as &$byte) {
    $byte = bin2hex(mb_convert_encoding($byte, 'UCS-2BE'));
}
print_r($bytes);
登入後複製

輸出結果如下:

Array (
    [0] => 4f60
    [1] => 597d
    [2] => 4e16
    [3] => 754c
)
登入後複製

我們可以看到,mb_str_split()函數已經成功地將包含多位元組字元的字串轉換成了位元組數組。

以上是PHP中將字元轉換成位元組數組的三種方法。我們可以根據需要選擇不同的方法來實現這個功能。

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

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