티스토리 뷰

 

한줄요약

URL의 일부만 복사하거나 (예: https:// 빼고)

URL 맨 앞에 스페이스바 치고 복사하면 된다.

 


 

웹페이지의 url에 한글이 포함되어 있으면, 표시는 잘 되는데 복사하면 이상하게 복사된다. 예를 들어 나무위키의 매트랩 문법 페이지

 

https://namu.wiki/w/MATLAB/문법

 

이렇게 표시되지만, 복사해보면

 

https://namu.wiki/w/MATLAB/%EB%AC%B8%EB%B2%95

 

이렇게 복사된다. 사실 한글뿐만 아니라 아스키 문자가 아닌 것은 모두 이렇게 변환된다.

 

1. 왜 이렇게 되는가?

• URL에는 아스키 문자만 쓸 수 있다. (출처)

• 아스키 문자가 아닌 것은 유니코드로 변환된 후 다시 아스키 문자로 변환된다.

• 이것을 인코딩이라고 부른다. 자세한 내용은 이곳을 확인하자.

현대 한글의 모든 글자의 유니코드는 나무위키에서 볼 수 있다.

• '문'의 유니코드는 'BB38'이다.

 

 

• 'BB38'을 binary로 변환하면 '1011101100111000'이다.

 

>> dec2bin(hex2dec('BB38'))
ans =
    '1011101100111000'
>>

 

• 'BB38'은 아래 표에서 3번째 범위에 해당된다. UTF-8 기준 변환표이다.

 

https://namu.wiki/w/UTF-8

 

• 'BB38'의 binary 표현식을 '1110xxxx', '10xxxxxx', '10xxxxxx'에 쪼개서 넣는다.

• 각각을 다시 hex로 변환하면 EB, AC, B8이 된다.

 

>> dec2hex(bin2dec('11101011'))
ans =
    'EB'
>> dec2hex(bin2dec('10101100'))
ans =
    'AC'
>> dec2hex(bin2dec('10111000'))
ans =
    'B8'
>>

 

• 같은 방법으로 '법'을 변환하면 EB, B2, 96이 나온다.

• 그래서 '문법'을 인코딩 하면 %EB%AC%B8%EB%B2%95가 된다.

 

https://namu.wiki/w/MATLAB/문법

https://namu.wiki/w/MATLAB/%EB%AC%B8%EB%B2%95

 

이곳에서 URL 인코딩/디코딩을 해볼 수 있다.

 

 

 

• 그 외에도 공백, 따옴표, 백틱 등도 변환된다. 변환표는 여기에.

• 예를 들어 공백문자(whitespace)는 %20으로 변화된다.

 

https://namu.wiki/w/It Takes Two

→ https://namu.wiki/w/It%20Takes%20Two

 

• 웹브라우저는 자체적으로 인코딩하지 않은 url을 보여주는 기능을 갖고 있기 때문에 주소창에 한글이 잘 나온다. (출처 필요)

 

2. 그래서 어떻게 해결하는가?

• 간단하다. 두 가지 방법이 있다.

 

• 방법 1: url의 일부만 복사한다. 맨 앞의 https://만 빼고 복사해보자.

• 방법 2: 주소창 맨 앞에서 스페이스 바를 한 번 치고 복사한다. (firefox는 맨 뒤에 넣어도 된다.)

• 일부만 복사하거나 주소를 변경하면 url이 아니라 검색 문자열로 인식하는 듯하다. (출처1, 출처2)

 

 

참고한 곳들

 

https://stackoverflow.com/questions/18176661/copying-a-utf-8-url-from-browsers-address-bar-gives-only-the-ugly-encoded-one

https://superuser.com/questions/480692/copying-unicode-symbols-from-firefox-address-bar-as-is

https://superuser.com/questions/1324919/why-when-copying-a-non-english-url-from-address-bar-its-url-encoded-and-not-as

https://meyerweb.com/eric/tools/dencoder/

https://www.eso.org/~ndelmott/url_encode.html

https://bryan7.tistory.com/757

https://it-eldorado.tistory.com/61

https://it-eldorado.tistory.com/143

https://namu.wiki/w/UTF-8

https://velog.io/@dondonee/한글-인코딩

https://namu.wiki/w/현대 한글의  모든 글자/유니코드

 

댓글