구분 기호로 예약 문자가있는 경우 데이터 전송, 어떻게해야합니까?
가능한 모호함에 대한 데이터를 인코딩
- 문자 (: 코드 범위의 ASCII 문자 코드 등의 설명은 ASCII 아니다 https://blog.csdn.net/Deft_MKJing/article/details/79460485 )
- ASCII 문자 코드를 표시 할 수 없습니다
- URI는에 지정된 문자를 예약
- 안전하지 않은 문자 등의 공백, 따옴표, 꺾쇠 괄호로 (세션을 처리 제대로 전송되지 않을 수 있습니다)
예를 들면 :
https://www.baidu.com/s?wd=?#!
https://www.baidu.com/s?wd= 펭 작은 원형의 블로그
https://www.baidu.com/s?wd= 작은 라운드 '> 블로그
예약 및 비 예약 문자 문자
예약 문자 :
예약 = 발전기 delims / 서브 delims
- 발전기 delims = " : "/ " / "/ " # "/ " [ "/ " ] "/ " @ "
- 서브 delims = ' ! /' " $ "/ " 및 "/ " ' "/ " ( "/ " ) "/ " * "/ " + "/ " = "/ " , "/ " , "
비 예약 문자 :
예약되지 않은 = APLHA / DIGIT / " - "/ " _ "/ " . /", " ~ "
- APLHA % 41- % 61 %의 5A 그리고 %의 7A
- DIGIT % 30 % 39
- - %의 2D . : % 2E _ : % 5 층
- ~ %의 7E, 일부는 예약 된 문자하다고 판단 달성
퍼센트 인코딩 방법 :
PCT 부호화 = "%"HEXDIG HEXDIG
- US-ASCII : 128 개 문자 (95 개 문자를 표시 할 수 있습니다, 문자 (33)는 표시되지 않습니다)
- 참조 : https://baike.baidu.com/item/ASCII/309296?fr=aladdin
등가의 경우 HEXDIG 16 진수 문자의 경우
(예 : 중국어) 비 ASCII 문자 : 그것은 UTF-8 인코딩에 추천 후, US-ASCII 인코딩
법적 URI 문자, 코딩 및 비 코딩은 동일합니다
예를 들어, "URI 변환"일 수는 "URI %의 E8 %의 BD %의 AC %의 E6 %의 8D %의 A를"일 수있다 "% 55 % 52 % 49 % E8의 %의 BD %의 AC %의 E6 %의 8D %의 A를"