• 技术文章 >后端开发 >PHP问题

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

    藏色散人藏色散人2020-10-07 00:30:00原创138

    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='';
            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='';
    //        for ($i=0; $i < strlen($string); $i++){
    //            $hex .= dechex(ord($string[$i]));
    //        }
            $hex = bin2hex($string);
            return $hex;
        }

    以上就是php字符串如何转为16进制字符串的详细内容,更多请关注php中文网其它相关文章!

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!
    专题推荐:php 16进制
    上一篇:php 时间戳转化为时间格式 下一篇:php redis 批量删除keys的方法
    第13期线上培训班

    相关文章推荐

    • PHP如何实现字符串16进制转换2进制?• php中字符串如何转16进制• php怎么将16进制转为字符串?• php如何将字符串转换为16进制字符串

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网