escape,encodeURI 와 encodeURIComponent 의 차이

escape()방법
MSDN JScript Reference 에서 다음 과 같이 말 합 니 다.
The escape method returns a string value (in Unicode format) that contains the contents of [the argument]. All spaces, punctuation, accented characters, and any other non-ASCII characters are replaced with %xx encoding, where xx is equivalent to the hexadecimal number representing the character. For example, a space is returned as "%20."
내 번역:escape 방법 은 유 니 코드 형식 으로 전 송 된 매개 변수 내용 을 포함 하 는 string 형식의 값 을 되 돌려 줍 니 다.Escape 방법 은 매개 변수 에 들 어 오 는 모든 빈 칸,구두점 기호,강세 문자 와 다른 모든 비 ASCII 문 자 를%x 의 인 코딩 형식 으로 바 꿉 니 다.그 중에서 xx 는 표 시 된 문자 의 16 진수 와 형식 이 같 습 니 다.예 를 들 어 빈 칸 문자 의 16 진수 표시 형식 이 0x 20 이면 이때 xx 는 20,즉 escape(')가'%20'으로 되 돌아 가 야 합 니 다.
Mozilla Developer Core Javascript Guide 에서 다음 과 같이 말 합 니 다.
The escape and unescape functions let you encode and decode strings. The escape function returns the hexadecimal encoding of an argument in the ISO Latin character set. The unescape function returns the ASCII string for the specified hexadecimal encoding value.
내 번역:escape 와 unescape 방법 은 문자열 을 인 코딩 하고 디 코딩 하 는 데 도움 을 줄 수 있 습 니 다.escape 방법 은 ISO Latin 문자 가 집 중 된 문자 로 구 성 된 인자 에 대해 16 진수 인 코딩 을 되 돌려 줍 니 다.이에 대응 하여 unescape 방법 은 16 진 인 코딩 형식의 매개 변 수 를 ASCII 코드 형식 으로 바 꿀 수 있다.
encodeURI()방법
MSDN JScript Reference 에서 다음 과 같이 말 합 니 다.
The encodeURI method returns an encoded URI. If you pass the result to decodeURI, the original string is returned. The encodeURI method does not encode the following characters: ":", "/", ";", and "?". Use encodeURIComponent to encode these characters.
인 코딩 된 URI 를 되 돌려 주 는 encodeURI 방법.encodeURI 방법의 인 코딩 결 과 를 decodeURI 방법 에 매개 변수 로 전달 하면 원본 인 코딩 되 지 않 은 문자열 을 얻 을 수 있 습 니 다.encodeURI 방법 은 다음 과 같은 문 자 를 인 코딩 하지 않 습 니 다.","/",";",and "?"。이 문자 들 을 인 코딩 하려 면 encodeURIComponent 방법 을 사용 하 십시오.
Mozilla Developer Core Javascript Guide 에서 다음 과 같이 말 합 니 다.
Encodes a Uniform Resource Identifier (URI) by replacing each instance of certain characters by one, two, or three escape sequences representing the UTF-8 encoding of the character.
나 는 번역:모든 특정한 문자 집합 에 속 하 는 문 자 를 하나,두 개 또는 세 개 로 바 꾸 었 습 니 다.예 를 들 어~!@\#$%^&*(){}[]=:/,;?+\\'\\\~!@#$%로 대 체 됩 니 다.25%5E&*()%7B%7D%5B%5D=:/,;?+'%22%5C
encodeURIComponent()방법
MSDN JScript Reference 에서 다음 과 같이 말 합 니 다.
The encodeURIComponent method returns an encoded URI. If you pass the result to decodeURIComponent, the original string is returned. Because the encodeURIComponent method encodes all characters, be careful if the string represents a path such as /folder1/folder2/default.html. The slash characters will be encoded and will not be valid if sent as a request to a web server. Use the encodeURI method if the string contains more than a single URI component.
인 코딩 된 URI 를 encodeURIComponent 방법 으로 되 돌려 줍 니 다.encodeURIComponent 방법의 인 코딩 결 과 를 encodeURIComponent 방법 에 매개 변수 로 전달 하면 원본 인 코딩 되 지 않 은 문자열 을 얻 을 수 있 습 니 다.encodeURIComponent 방법 은 모든 문 자 를 인 코딩 하기 때문에 인 코딩 할 문자열 이 경 로 를 표시 하 는 데 사 용 될 경우(예:/dir 1/dir 2/index.htm)조심해 야 합 니 다.'/'기 호 는 인 코딩 된 후에 더 이상 효과 적 인 경로 식별 자가 되 지 않 기 때문에 웹 서버 에서 정확하게 식별 할 수 없습니다.문자열 이 하나의 URI component 를 포함 할 때(가리 키 는 것 은?다음 요청 인자)를 사용 할 때 이 방법 을 사용 하 십시오.
Mozilla Developer Core Javascript Guide 에서 다음 과 같이 말 합 니 다.
Encodes a Uniform Resource Identifier (URI) component by replacing each instance of certain characters by one, two, or three escape sequences representing the UTF-8 encoding of the character.
저 는 번역:모든 특정한 문자 집합 에 속 하 는 문 자 를 하나,두 개 또는 세 개 로 바 꿉 니 다.
무슨 차이 가 있 습 니까?언제 사용 합 니까?
위의 소 개 를 통 해 알 수 있 듯 이 MS 의 문 서 는 모 질 라 보다 상세 하고 이해 하기 쉬 우 나 이들 이 표현 하 는 것 은 모두 하나의 뜻 이다.그러나 escape(),encodeURI()와 encodeURIComponent()는 어떤 차이 점 이 있 습 니까?그것들 은 각각 특정한 상황 에 적 용 됩 니까?
escape 방법 은 문자+를 인 코딩 하지 않 습 니 다.사용자 가 제출 한 폼 필드 에 빈 칸 이 있 으 면+문자 로 바 뀌 고 서버 가 분석 할 때+번 호 는 빈 칸 이 라 고 생각 하 는 것 을 알 고 있 습 니 다.이 결함 으로 인해 escape 방법 은 모든 비 ASCII 문 자 를 정확하게 처리 할 수 없습니다.escape 방법 을 사용 하 는 것 을 피해 야 합 니 다.대신 encodeURIComponent()방법 을 선택 하 는 것 이 좋 습 니 다.
escape()인 코딩 되 지 않 은 문자:@*/+
escape 방법 을 사용 하 는 것 보다 encodeURI 방법 을 사용 하 는 것 이 더 전문 적 으로 보일 수 있 습 니 다.URI 전 체 를 인 코딩 해 야 할 때 이 방법 을 사용 할 수 있 습 니 다.URI 의 합 법 적 인 문 자 는 인 코딩 되 지 않 기 때 문 입 니 다.문자'이자 URI 의 합 법 적 인 문자 임 을 알 아야 하기 때문에 인 코딩 되 지 않 습 니 다.
encodeURI()인 코딩 되 지 않 은 문자:~!@#@{content}*()=:/,;?+'
encodeURIComponent 방법 은 하나의 URIComponent(요청 매개 변수)를 인 코딩 하 는 데 가장 자주 사용 되 어야 합 니 다.문자'이자 URI 의 합 법 적 인 문자 임 을 알 아야 하기 때문에 인 코딩 되 지 않 습 니 다.
encodeURIComponent()인 코딩 되 지 않 은 문자:~!*()'

좋은 웹페이지 즐겨찾기