php urlencode()와 urldecode()함수 문자 인 코딩 원리 상세 설명
echo urlencode(' ');// :%B2%BB%D2%AA%C3%D4%C1%B5%B8%E7
urlencode()함수 원 리 는 먼저 중국어 문 자 를 16 진법 으로 바 꾼 다음 에 모든 문자 앞 에 식별 자%를 추가 하여 이 원 리 를 이해 하면 사용자 정의 URL 인 코딩 함 수 를 실현 할 수 있 습 니 다.코드 는 다음 과 같 습 니 다
$string = " ";
$length = strlen($string);
echo $string;
$result = array();
//
for($i=0;$i<$length;$i++){
if(ord($string[$i])>127){
$result[] = ord($string[$i]).' '.ord($string[++$i]);
}
}
var_dump($result);
//
$strings = array();
foreach($result as $v){
$dec = explode(" ",$v);
$strings[] = "%".dechex($dec[0])." "."%".dechex($dec[1]);
}
var_dump($strings);
상기 코드 는[PHP 에서 중국어 문자 의 진 변환 원리 분석]한 글 에서 중국어 문자 가 16 진 으로 전환 하 는 원리 분석 부분 에 대해 상세 하 게 논 의 했 습 니 다.한자 의 각 문 자 를 얻 은 다음 에 16 진 으로 전환 하 는 동시에 모든 문자 앞 에 특수 한 식별 자%를 추가 하면 urlencode()함수 의 기능 을 실현 합 니 다.출력 결 과 는 다음 과 같 습 니 다.출력 결 과 는 urlencode()인 코딩 을 직접 사용 하 는 문자 와 비교 합 니 다.예 를 들 어%B2%BB%D2%AA%C3%D4%C1%B5%B8%E7 은 위의 인 스 턴 스 를 통 해 알 수 있 듯 이 urlencode()함수 로 중국어 문 자 를 인 코딩 하 는 것 은 실질 적 으로 문 자 를 16 진법 으로 바 꾸 고 첫 번 째 문자 왼쪽 에 특수 한 식별 자%3 을 추가 하 는 것 입 니 다.url decode()함수 원 리 는 url decode()함수 로 인 코딩 된 URL 문자열 을 디 코딩 합 니 다.인 스 턴 스 는 echo url decode('%B2%BB%D2%AA%C3%D4%C1%B5%B8%E7')입 니 다./출력:형 urldecode()함수 와 urlencode()함수 원리 에 반 해 인 코딩 된 URL 문자열 을 디 코딩 하 는 데 사용 하지 마 십시오.그 원 리 는 16 진 문자열 을 중국어 문자 로 변환 하 는 것 입 니 다.위의 인 스 턴 스 와 결합 하면 사용자 정의 함수 디 코딩 문자열
$string = '%B2%BB%D2%AA%C3%D4%C1%B5%B8%E7';
$length = strlen($string);
$hexs = array();
for($i=0;$i<$length;$i++){
if($string[$i] == '%'){
$hexs[] = $string[++$i].$string[++$i];
}
}
$num = count($hexs);
for($i=0;$i<$num;$i++){
echo chr(hexdec($hexs[$i])).chr(hexdec($hexs[++$i]));
}
위의 인 스 턴 스 코드 는 먼저 문자열 의 규칙 에 따라 각 문자 의 16 진 을 추출 할 수 있 습 니 다.그 다음 에 hexdec()함 수 를 사용 하여 16 진 을 10 진 으로 바 꾼 다음 에 chr()함 수 를 사용 하여 10 진 을 문자 로 바 꾸 고 16 진 을 문자 로 바 꿉 니 다.출력 결 과 는 다음 과 같다.4,urldecode()와 urlencode()함수 설명 urlencode(PHP 3,PHP 4,PHP 5)urlencode-인 코딩 URL 문자열 설명 string urlencode(string str)반환 문자열,이 문자열 은- 를 제외 합 니 다.이외 의 모든 비 자모 숫자 문 자 는 백분율(%)로 바 뀌 고 두 자리 16 진수 로 바 뀌 며 빈 칸 은 플러스(+)로 인 코딩 됩 니 다.이 인 코딩 은 WWW 폼 POST 데이터 의 인 코딩 방식 과 같 으 며,application/x-ww-form-urlencoded 의 미디어 형식 인 코딩 방식 과 같 습 니 다.역사적 인 이유 로 이 인 코딩 은 빈 칸 을 플러스(+)로 인 코딩 하 는 데 RFC 1738 인 코딩(rawurlencode()참조)과 다 릅 니 다.이 함 수 는 문자열 을 인 코딩 하여 URL 의 요청 부분 에 사용 할 수 있 으 며,다음 페이지 의 url decode(PHP 3,PHP 4,PHP 5)url decode-인 코딩 된 URL 문자열 을 디 코딩 하여 string url decode(string str)디 코딩 된 인 코딩 된 문자열 의%\##를 설명 합 니 다.디 코딩 된 문자열 을 되 돌려 줍 니 다.5.참고 자원 urlencode()설명 urldecode()설명
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
iOS URLEcode,URLDecodeiOS가 네트워크 프로그래밍과 관련될 때 서버와 httpurl의 상호작용이 필요합니다 url에 한자가 존재하거나 그림을 업로드해야 한다면 urlEncode를 고려해야 합니다. 그렇지 않으면 웹 주소가 잘못될 수 있습...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.