>백엔드 개발 >PHP 문제 >PHP 문자열을 16진수 문자열로 변환하는 방법

PHP 문자열을 16진수 문자열로 변환하는 방법

藏色散人
藏色散人원래의
2020-10-07 00:30:004091검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.