PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

php字符串如何转为16进制字符串

藏色散人
藏色散人 原创
2020-10-07 00:30:00 3772浏览

php字符串转为16进制的方法:首先创建一个php示例文件;然后通过string2hex方法将字符串转为16进制;最后通过return返回转换结果即可。

推荐:《PHP视频教程

php字符串和16进制编码的相互转换

php字符串是十进制的

/**
**字符串转16进制
**/
 public function String2Hex($string){
        $hex='';
        for ($i=0; $i < strlen($string); $i++){
            $hex .= dechex(ord($string[$i]));
        }
        return $hex;
    }
/**
**16进制转字符串
**/
    public function Hex2String($hex){
        $string=&#39;&#39;;
        for ($i=0; $i < strlen($hex)-1; $i+=2){
            $string .= chr(hexdec($hex[$i].$hex[$i+1]));
        }
        return $string;
    }
// example:
$hex = String2Hex("test sentence...");
// $hex contains 746573742073656e74656e63652e2e2e
echo Hex2String($hex);
// outputs: test sentenc

我在做aes加密是发现一个问题,发现将字符串转16进制会出现转出数据位数对不上的问题可以修改为如下试试:

 public function String2Hex($string){
        $hex=&#39;&#39;;
//        for ($i=0; $i < strlen($string); $i++){
//            $hex .= dechex(ord($string[$i]));
//        }
        $hex = bin2hex($string);
        return $hex;
    }

 

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。