Wednesday, August 02, 2006
HTML 웹문서 주소의, 특수문자 코드 %20 등은 무엇입니까? [QnA]
%20 은, 특수문자라기보다는, 공백(스페이스) 즉 "빈 칸"을 의미합니다.
인터넷 주소에서는 원칙적으로 빈 칸이 들어갈 수 없습니다. 만약
이렇게 빈 칸이 들어간 주소가 있다면
그 빈 칸을 %20 으로 변환하여
이렇게 표현하는 것입니다.
키보드의 "스페이스 키" 즉 가장 긴 키를 누르면 빈 칸이 하나 찍힙니다. 이 빈 칸 역시 하나의 글자입니다. 이 공백문자의 아스키 코드 (ASCII Code) 는, 10진수로는 32, 16진수로는 20 입니다. 따라서 빈 칸을 인터넷 주소에서 %20 으로 변환해 주는 것입니다.
인터넷 주소에는 표현할 수 있는 문자들이 제한되어 있습니다. 만약 한글로
이런 식으로 주소를 나타내면, 웹서버들이 오작동할 가능성이 높아집니다. 웹서버 특히 외국의 서버들은 한글을 처리할 수 없고 숫자와 영문만을 읽을 수 있는 경우가 많기 때문입니다.
그렇지만 "소설"이라는 한글을, 영문과 숫자로만 이루어진 문자열로 "인코딩(Encoding)"해주면 외국 서버들도 잘 읽을 수 있습니다.
▶▶ JavaScript Tools: Decode/Encode URI Strings 이 페이지에 보면, encodeURI() 라는 곳이 있습니다. 그 바로 밑의 첫번째 칸, 즉 보라색 칸에 AAA BBB 라고 입력하고, 엔터키를 누르면 AAA%20BBB 라고 인코딩된 결과가 나옵니다.
이번에는 한글로 소설 이라고 입력하고, 엔터키를 누르면
%EC%86%8C%EC%84%A4
이렇게 나옵니다.
"소설"이라는 한글 문자열의 유니코드(UTF-8) 값이, "EC 86 8C EC 84 A4" 이기 때문입니다.
인터넷 주소에서는 원칙적으로 빈 칸이 들어갈 수 없습니다. 만약
https://www.example.com/My Test.html
이렇게 빈 칸이 들어간 주소가 있다면
그 빈 칸을 %20 으로 변환하여
https://www.example.com/My%20Test.html
이렇게 표현하는 것입니다.
키보드의 "스페이스 키" 즉 가장 긴 키를 누르면 빈 칸이 하나 찍힙니다. 이 빈 칸 역시 하나의 글자입니다. 이 공백문자의 아스키 코드 (ASCII Code) 는, 10진수로는 32, 16진수로는 20 입니다. 따라서 빈 칸을 인터넷 주소에서 %20 으로 변환해 주는 것입니다.
인터넷 주소에는 표현할 수 있는 문자들이 제한되어 있습니다. 만약 한글로
https://www.example.com/소설.html
이런 식으로 주소를 나타내면, 웹서버들이 오작동할 가능성이 높아집니다. 웹서버 특히 외국의 서버들은 한글을 처리할 수 없고 숫자와 영문만을 읽을 수 있는 경우가 많기 때문입니다.
그렇지만 "소설"이라는 한글을, 영문과 숫자로만 이루어진 문자열로 "인코딩(Encoding)"해주면 외국 서버들도 잘 읽을 수 있습니다.
인코딩 실습
▶▶ JavaScript Tools: Decode/Encode URI Strings 이 페이지에 보면, encodeURI() 라는 곳이 있습니다. 그 바로 밑의 첫번째 칸, 즉 보라색 칸에 AAA BBB 라고 입력하고, 엔터키를 누르면 AAA%20BBB 라고 인코딩된 결과가 나옵니다.
이번에는 한글로 소설 이라고 입력하고, 엔터키를 누르면
%EC%86%8C%EC%84%A4
이렇게 나옵니다.
"소설"이라는 한글 문자열의 유니코드(UTF-8) 값이, "EC 86 8C EC 84 A4" 이기 때문입니다.
tag: html
HTML | CSS | 자바스크립트 JavaScript
<< Home