반응형
함수 이름 | 설명 |
escape() | 적절한 정도로 인코딩 합니다. |
unescape(() | 적절한 정도로 디코딩 합니다. |
encodeURI(uri) | 최소한의 문자만 인코딩합니다. |
decodeURI(encodedURI) | 최소한의 문자만 디코딩합니다. |
encodeURIComponent(uriComponent) | 문자 대부분을 모두 인코딩합니다. |
decodeURIComponent(encodedURI) | 문자 대부분을 모두 디코딩합니다. |
그런데 적절한과 최소한, 대부분의 차이는 무엇인가.
이는 다음과 같이 정리할 수 있습니다.
- escape()
- 영문 알파벳과 숫자, 일부 특수 문자(@,*,-,_,+,../)를 제외하고 모두 인코딩합니다.
- 1바이트 문자는 %XX의 형태로, 2바이트 문자는 %uXXXX 형태로 변환합니다.
- encodeURI()
- escape() 함수에서 인터넷 주소에 사용되는 일부 특수 문자(: , ;, /, =, ?, &)는 변환하지 않습니다.
- encodeURIComponent()
- 알파벳과 숫자를 제외한 모든 문자를 인코딩합니다.
- UTF-8 인코딩과 같습니다.
var URI = 'http://redbin.co.kr?test=한글입니다';
var output = '';
output += '★escape()\n';
output += escape(URI) + '\n\n';
output += '★encodeURI()\n';
output += encodeURI(URI) + '\n\n';
output += '★encodeURIComponent()\n';
output += encodeURIComponent(URI) + '\n\n';
console.log(output);
★escape()
http%3A//redbin.co.kr%3Ftest%3D%uD55C%uAE00%uC785%uB2C8%uB2E4
★encodeURI()
http://redbin.co.kr?test=%ED%95%9C%EA%B8%80%EC%9E%85%EB%8B%88%EB%8B%A4
★encodeURIComponent()
http%3A%2F%2Fredbin.co.kr%3Ftest%3D%ED%95%9C%EA%B8%80%EC%9E%85%EB%8B%88%EB%8B%A4
반응형
'언어 > javascript' 카테고리의 다른 글
javascript : 숫자 확인 함수 (0) | 2020.11.29 |
---|---|
javascript : eval (0) | 2020.11.29 |
javascript : 타이머 함수 (0) | 2020.11.29 |
javascript : 클로저 (0) | 2020.11.29 |
javascript : callback 함수 (0) | 2020.11.29 |