abstract:本章介紹了關(guān)于PHP中字符串與多進(jìn)制轉(zhuǎn)換函數(shù)的實(shí)例代碼。轉(zhuǎn)換函數(shù)/** * [字符串轉(zhuǎn)換為(2,8,16進(jìn)制)ASCII碼] * @param string $str [待處理字符串] * @param boolean $encode [字符串轉(zhuǎn)換為
本章介紹了關(guān)于PHP中字符串與多進(jìn)制轉(zhuǎn)換函數(shù)的實(shí)例代碼。
轉(zhuǎn)換函數(shù)
/** * [字符串轉(zhuǎn)換為(2,8,16進(jìn)制)ASCII碼] * @param string $str [待處理字符串] * @param boolean $encode [字符串轉(zhuǎn)換為ASCII|ASCII轉(zhuǎn)換為字符串] * @param string $intType [2,8,16進(jìn)制標(biāo)示] * @return string byte_str [處理結(jié)果] * @author alexander */ function strtoascii($str, $encode=true, $intType="2"){ if($encode == true){ $byte_array = str_split($str); foreach($byte_array as &$value){ $value = ord($value); switch ($intType) { case 16: $value = sprintf("%02x", $value); break; case 8: $value = sprintf("%03o", $value); break; default: $value = sprintf("%08b", $value); break; } } unset($value); $byte_str = implode('', $byte_array); } else{ $chunk_size = $intType == 16 ? 2 : ($intType == 8 ? 3 : 8); $byte_array = chunk_split($str, $chunk_size); $byte_array = array_filter(explode("\r\n", $byte_array)); foreach($byte_array as &$value){ $fun_name = $intType == 16 ? 'hexdec' : ($intType == 8 ? 'octdec' : 'bindec'); $value = $fun_name($value); $value = chr($value); } unset($value); $byte_str = implode('', $byte_array); } return $byte_str; }
PHP中的多進(jìn)制
PHP 整型值可以使用十進(jìn)制,十六進(jìn)制,八進(jìn)制或二進(jìn)制表示,前面可以加上可選的符號(hào)(- 或者 +)。
二進(jìn)制:[+-]?0b[01]+
八進(jìn)制:[+-]?0[1-7]+
十進(jìn)制:[+-]?[1-9][0-9]*|0
十六進(jìn)制:[+-]?[xX][0-9a-fA-F]+
多進(jìn)制轉(zhuǎn)換函數(shù):
bindec 二進(jìn)制轉(zhuǎn)換為十進(jìn)制
decbin 十進(jìn)制轉(zhuǎn)換為二進(jìn)制
octdec 八進(jìn)制轉(zhuǎn)換為十進(jìn)制
decoct 十進(jìn)制轉(zhuǎn)換為八進(jìn)制
hexdec 十六進(jìn)制轉(zhuǎn)換為十進(jìn)制
dechex 十進(jìn)制轉(zhuǎn)換為十六進(jìn)制
更多關(guān)于PHP中字符串與多進(jìn)制轉(zhuǎn)換函數(shù)的實(shí)例代碼請(qǐng)關(guān)注PHP中文網(wǎng)(www.miracleart.cn)其它文章!