关于PHP中字符串与多进制转换函数的实例代码
转换函数
/**
*[字符串转换为(2,8,16进制)ASCII码]
*@paramstring$str[待处理字符串]
*@paramboolean$encode[字符串转换为ASCII|ASCII转换为字符串]
*@paramstring$intType[2,8,16进制标示]
*@returnstringbyte_str[处理结果]
*@authoralexander
*/
functionstrtoascii($str,$encode=true,$intType="2"){
if($encode==true){
$byte_array=str_split($str);
foreach($byte_arrayas&$value){
$value=ord($value);
switch($intType){
case16:
$value=sprintf("%02x",$value);
break;
case8:
$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_arrayas&$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中的多进制
PHP整型值可以使用十进制,十六进制,八进制或二进制表示,前面可以加上可选的符号(-或者+)。
二进制:[+-]?0b[01]+
八进制:[+-]?0[1-7]+
十进制:[+-]?[1-9][0-9]*|0
十六进制:[+-]?[xX][0-9a-fA-F]+
多进制转换函数:
| bindec | 二进制转换为十进制 |
| decbin | 十进制转换为二进制 |
| octdec | 八进制转换为十进制 |
| decoct | 十进制转换为八进制 |
| hexdec | 十六进制转换为十进制 |
| dechex | 十进制转换为十六进制 |
以上就是小编为大家带来的关于PHP中字符串与多进制转换函数的实例代码全部内容了,希望大家多多支持毛票票~