PHP作為一種伺服器端程式語言,具有豐富的函數庫,方便開發者快速進行開發。 PHP中提供了十六進位轉換為字串的函數,以下就來介紹這個函數。
PHP中十六進位轉換為字串的函數是hex2bin()。其作用是將十六進制數轉換成字串。
範例程式碼:
$string = hex2bin('546869732069732061207465737420737472696e67'); echo $string;
運行結果:
This is a test string
在上面的範例中,函數hex2bin()把十六進製字串'546869732069732061207465737420737472696e67'轉換成了字串'This is a test string'。可以看到,轉換後的字串和原來的十六進位字串是一樣的。
要注意的是,如果在呼叫hex2bin()函數時,傳入的十六進制數不是偶數位(即不能被2整除),PHP會自動在字串的末尾添加一個' 0'字符,這樣才能使其變成偶數位,然後再進行轉換。
範例程式碼:
$string = hex2bin('546869732069732061207465737420737472696e670'); echo $string;
運行結果:
This is a test string
此處的十六進位字串'546869732069732061207465737420737472696e670'字符'0'是PHP自動添加的。
除了hex2bin()函數,PHP還有以下兩個函數可以將十六進位數轉換成字串:
格式說明:
H - 十六進位字串(高位元優先)
h - 十六進位字串(低位優先)
N -無符號長整數(網路位元組序)
n - 無符號短整數(網路字節序)
V - 無符號長整型(本機位元組序)
v - 無符號短整型(本地字節序)
範例程式碼:
$string = pack("H*", '546869732069732061207465737420737472696e67'); echo $string;
運行結果:
This is a test string
此程式碼與hex2bin( )函數的使用方法類似。不同之處在於,pack()函數可以根據不同的格式來解析十六進位字串。
範例程式碼:
$str = "546869732069732061207465737420737472696e67"; $len = strlen($str); $res = ""; for ($i = 0; $i < $len; $i += 2) { $res .= chr(hexdec(substr($str, $i, 2))); } echo $res;
運行結果:
This is a test string
在上面的範例中,我們先將十六進製字串$str拆分成兩個字元為一組,因此$str的長度為偶數。透過for循環遍歷每一組,呼叫hexdec()函數將其轉換成十進制數,然後調用chr()函數將其轉換成對應的字符,將字符添加到$res字串中。
綜上所述,PHP提供了多種方法可以將十六進位數轉換成字串。開發者可以根據實際需求選擇合適的方法。
以上是php十六進位怎麼轉換為字串函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!