汉字怎样转换十六进制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的主要内容,如果未能解决你的问题,请参考以下文章

php 怎么将utf-8格式的汉字转换成16进制?

如何用JS将一段十六进制(HEX)字符串转换为汉字?

怎样在PHP中把16进制HEX数据转换为2进制数据呢?

汉字怎么转Unicode编码 十六进制的

c++ 将十六进制数组转换成汉字的办法

Delphi 如何将十六进制的UTF-8编码转换为汉字