ホームページ  >  記事  >  バックエンド開発  >  PHPの文字列を16進数の文字列に変換する方法

PHPの文字列を16進数の文字列に変換する方法

藏色散人
藏色散人オリジナル
2020-10-07 00:30:004032ブラウズ

php 文字列を 16 進数に変換する方法: まず PHP サンプル ファイルを作成し、次に String2Hex メソッドを通じて文字列を 16 進数に変換し、最後に return を通じて変換結果を返します。

PHPの文字列を16進数の文字列に変換する方法

推奨: 「PHP ビデオ チュートリアル

PHP 文字列と 16 進エンコーディングの変換

phpの文字列は10進数です

/**
**字符串转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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。