汉字怎样转换十六进制php
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汉字怎样转换十六进制php相关的知识,希望对你有一定的参考价值。
怎样从只能输入汉字的文本域取到汉字后转换十六进制?
//汉字进制转换//$string 传入的汉字或其它字符
//$tobase 要转换的进制 范围 2~36 之间任意取值
//$back 返回形式,0 转换成进制代码 ; 1 将进制转换成汉字
function ASCII($String,$tobase,$back)
if( $tobase > 1 && $tobase < 37 )
if($back == 0)
return preg_replace('/(.)/es',"str_pad(base_convert(ord('\\1'),10,$tobase),8,'0',STR_PAD_LEFT)",$String);
else
return preg_replace('/(\w8)/e',"chr(base_convert('\\1',$tobase,10))",$String);
else
return false;
//范例
$str = '我爱你';
$en = ASCII($str,2,0); // 转换成2进制: 111001101000100010010001111001111000100010110001111001001011110110100000
echo ASCII($en,2,1); // 转换成汉字:我爱你
$en = ASCII($str,8,0); // 转换成8进制: 000003460000021000000221000003470000021000000261000003440000027500000240
echo ASCII($en,8,1); // 转换成汉字:我爱你
$en = ASCII($str,10,0); // 转换成10进制: 000002300000013600000145000002310000013600000177000002280000018900000160
echo ASCII($en,10,1); // 转换成汉字:我爱你
$en = ASCII($str,10,0); // 转换成10进制: 000002300000013600000145000002310000013600000177000002280000018900000160
echo ASCII($en,10,1); // 转换成汉字:我爱你
$en = ASCII($str,16,0); // 转换成10进制: 000000e60000008800000091000000e700000088000000b1000000e4000000bd000000a0
echo ASCII($en,16,1); // 转换成汉字:我爱你 参考技术A 你转换成十六进制的要干嘛啊?
没见过直接转十六进制的
PHP 将数字转换为汉字
header("Content-type:text/html;charset=utf-8");
function getNumber($num)
{
$arr = array(‘零‘,‘壹‘,‘贰‘,‘叁‘,‘肆‘,‘伍‘,‘陆‘,‘柒‘,‘捌‘,‘玖‘);
$cny = array(‘‘,‘拾‘,‘佰‘,‘仟‘,‘‘,‘萬‘,‘亿‘,‘兆‘);
//小数部分
$retval = ‘‘;
if(strpos($num,‘.‘)!==false)
{
list($num,$dec) = explode(‘.‘,$num);
$retval .= $arr[$dec[0]].‘角‘.$arr[$dec[1]].‘分‘;
}
//整数部分
$str = $num!=‘0‘?strrev($num):‘‘;
$out =array();
for($i=0;$i<strlen($str);$i++)
{
$out[$i] = $arr[$str[$i]];
$out[$i] .= $str[$i]!= ‘0‘ ? $cny[$i%4] : ‘‘;
if($i>1 && $str[$i]+$str[$i-1]==0)
{
$out[$i]=‘‘;
}
if($i%4==0)
{
$out[$i] .= $cny[4+floor($i/4)];
}
echo $out[$i].‘<br>‘;
}
$retval = implode(‘‘,array_reverse($out)).‘元‘ . $retval;
return $retval;
}
以上是关于汉字怎样转换十六进制php的主要内容,如果未能解决你的问题,请参考以下文章