首頁 >後端開發 >PHP問題 >php字串如何轉為16進位字串

php字串如何轉為16進位字串

藏色散人
藏色散人原創
2020-10-07 00:30:004093瀏覽

php字串轉為16進位的方法:先建立一個PHP範例檔案;然後透過String2Hex方法將字串轉為16進位;最後透過return傳回轉換結果即可。

php字串如何轉為16進位字串

推薦:《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;
    }

 

以上是php字串如何轉為16進位字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn