๐ ํ๊ทธ์ ์๋ฏธ
๋ธ๋ผ์ฐ์ ๋ ์๋ฒ๊ฐ ์๋ตํ HTML ํ์ผ์ ๋ฐ์ดํธ(2์ง์) ํํ๋ก ์๋ต๋ฐ๋๋ฐ, ๋ธ๋ผ์ฐ์ ์๊ฒ ์ด๋ค ์ธ์ฝ๋ฉ ๋ฐฉ์์ ์ฌ์ฉํ ์ง ์๋ ค์ฃผ๋ ํ๊ทธ์ด๋ค.
html ๋ฌธ์๋ฅผ ์ง์ ๋ ์ธ์ฝ๋ฉ ๋ฐฉ์(UTF-8)์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ๋ณํ
UTF-8 ์ธ์ฝ๋ฉ ๋ฐฉ์์ ๋๋ถ๋ถ์ ๋ฌธ์๋ฅผ ํํํ๊ธฐ์ ์ ํฉํ์ฌ ๋ง์ด ์ฌ์ฉ๋๊ณ , ๋ค๋ฅธ ์ธ์ฝ๋ฉ ๋ฐฉ์(euc-kr ๋ฑ)์ ์ฌ์ฉํ๋ฉด ์ผ๋ถ ๋ฌธ์๊ฐ ๊นจ์ ธ๋ณด์ผ ์ ์๋ค.
๐ ์ธ์ฝ๋ฉ ์ด๋?
๋ฌธ์๋ ๊ธฐํธ๋ค์ ์ปดํจํฐ๊ฐ ์ด์ฉํ ์ ์๋ ์ ํธ๋ก ๋ง๋๋ ๊ฒ์ด๋ค.
ASCII ์ฝ๋ ์๋ฅผ ๋ค๋ฉด
๋ฌธ์ | ์ญ์ง๋ฒ | ์ด์ง๋ฒ |
A | 65 | 1000001 |
Z | 92 | 1011010 |
a | 97 | 1100001 |
z | 122 | 1111010 |
๋ฌธ์์ด ์ธํธ(ํ)์ ๋ฐ๋ผ 'A' ๋ฌธ์๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ '1000001' ๋ณํํ๊ณ , ๋ค์ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค ๋๋ 'A'๋ก ๋ณํ๋๋ค.
๋ฌธ์์ด ์ธํธ: ๊ฐ ๋ฌธ์๋ง๋ค ์ซ์๋ฅผ ์ ํด๋์ ํ
๋ฌธ์ ์ธ์ฝ๋ฉ: ๋ฌธ์๋ฅผ ์ปดํจํฐ๊ฐ ์ด์ฉํ ์ ์๋๋ก ๋ฐ์ด๋๋ฆฌ(0๊ณผ 1) ์ ํธ๋ก ๋ฐ๊ฟ์ค๋ค.
๋์ฝ๋ฉ: ์ธ์ฝ๋ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์๋๋๋ก ๋๋๋ฆฌ๋ ๊ณผ์
๐ Unicode
ASCII ์ฝ๋๋ ๋ค๋ฅธ ๋๋ผ ๋ฌธ์๋ค์ ํํํ ์ ์์ด์, ๋๋ผ๋ค๋ง๋ค ๊ฐ๊ธฐ ๋ค๋ฅธ ๋ฌธ์์ด ์ธํธ๋ฅผ ์ฌ์ฉํ๋ค. ์ด ๋ฌธ์์ด ์ธํธ๋ฅผ ํ์คํํ๊ธฐ ์ํด ๋ชจ๋ ๋ฌธ์๋ค์ ํ๋์ ํ์ ํฌํจ์ํจ unicode ๋ฌธ์์ด ์ธํธ๋ฅผ ๋ง๋ค๊ฒ ๋์๋ค.
๐ UTF-8
unicode ๋ฌธ์์ด ์ธํธ๋ฅผ ๋งคํํ๋ 2๊ฐ์ง ๋ฐฉ์์ด ์๋ค.
- ์ ๋์ฝ๋ ๋ณํ ํ์(Unicode Transformation Format, UTF) ์ธ์ฝ๋ฉ
- ๊ตญ์ ๋ฌธ์ ์ธํธ(Universal Coded Character Set, UCS) ์ธ์ฝ๋ฉ
UTF์ UCS๋ UCS-2, UCS-4, UTF-8, UTF-16, UTF-32 ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ, UTF-8์ ๊ทธ ์ค ํ๋์ด๋ค.
UTF-8 ์ธ์ฝ๋ฉ์ ์ ๋์ฝ๋ ํ ๋ฌธ์๋ฅผ ๋ํ๋ด๊ธฐ ์ํด 1๋ฐ์ดํธ์์ 4๋ฐ์ดํธ๊น์ง ์ฌ์ฉํ๋ค.
- ASCII ๋ฌธ์๋ค์ 1๋ฐ์ดํธ๋ง์ผ๋ก ํ์
- ํ๊ธ์ 3๋ฐ์ดํธ๋ก ํ์

๐ URL Encoding ์ด๋?
URL๋ก ์ ์กํ ์ ์๋ ๋ฌธ์๋ ASCII ์ฝ๋ ๋ฌธ์๋ง ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์, ASCII๊ฐ ์๋ ๋ฌธ์๋ค์ URL์ ์ฌ์ฉํ ์ ์๋๋ก ๋ฐ๊ฟ์ฃผ๋ ์์ ์ URL Encoding์ด๋ผ ํ๋ค.
๊ทธ๋์ ASCII ์ฝ๋์ ํฌํจ๋์ด ์์ง ์๋ ํ๊ธ ๋ฑ์ UTF-8 ์ธ์ฝ๋ฉ๋์ด ํํ๋๊ณ , ASCII ๋ฌธ์์ ํฌํจ๋๋๋ผ๋ ๋ฌธ์ ๊ทธ ์์ฒด ์๋ฏธ๋ก ์ ๋ฌํ๊ณ ์ถ๋ค๋ฉด ์ด์ค์ผ์ดํ ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผ ํ๋ค. '/' ๋ %2F, '&'๋ %26์ผ๋ก ์ธ์ฝ๋ฉ๋๋ค.
'https://ko.wikipedia.org/wiki/๋ฌธ์_์ธ์ฝ๋ฉ' ์ฃผ์๋ ๋ค์๊ณผ ๊ฐ์ด ๋ณํ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
๋ฌธ = %EB%AC%B8, ์ = %EC%9E%90,
์ธ = %EC%9D%B8, ์ฝ = %EC%BD%94, ๋ฉ = %EB%94%A9
๐งท ์ฐธ๊ณ
- https://ko.wikipedia.org/wiki/%EB%AC%B8%EC%9E%90_%EC%9D%B8%EC%BD%94%EB%94%A9
- https://ko.wikipedia.org/wiki/ASCII
- https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C
- https://ko.wikipedia.org/wiki/UTF-8
๐ ํ๊ทธ์ ์๋ฏธ
๋ธ๋ผ์ฐ์ ๋ ์๋ฒ๊ฐ ์๋ตํ HTML ํ์ผ์ ๋ฐ์ดํธ(2์ง์) ํํ๋ก ์๋ต๋ฐ๋๋ฐ, ๋ธ๋ผ์ฐ์ ์๊ฒ ์ด๋ค ์ธ์ฝ๋ฉ ๋ฐฉ์์ ์ฌ์ฉํ ์ง ์๋ ค์ฃผ๋ ํ๊ทธ์ด๋ค.
html ๋ฌธ์๋ฅผ ์ง์ ๋ ์ธ์ฝ๋ฉ ๋ฐฉ์(UTF-8)์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด ๋ณํ
UTF-8 ์ธ์ฝ๋ฉ ๋ฐฉ์์ ๋๋ถ๋ถ์ ๋ฌธ์๋ฅผ ํํํ๊ธฐ์ ์ ํฉํ์ฌ ๋ง์ด ์ฌ์ฉ๋๊ณ , ๋ค๋ฅธ ์ธ์ฝ๋ฉ ๋ฐฉ์(euc-kr ๋ฑ)์ ์ฌ์ฉํ๋ฉด ์ผ๋ถ ๋ฌธ์๊ฐ ๊นจ์ ธ๋ณด์ผ ์ ์๋ค.
๐ ์ธ์ฝ๋ฉ ์ด๋?
๋ฌธ์๋ ๊ธฐํธ๋ค์ ์ปดํจํฐ๊ฐ ์ด์ฉํ ์ ์๋ ์ ํธ๋ก ๋ง๋๋ ๊ฒ์ด๋ค.
ASCII ์ฝ๋ ์๋ฅผ ๋ค๋ฉด
๋ฌธ์ | ์ญ์ง๋ฒ | ์ด์ง๋ฒ |
A | 65 | 1000001 |
Z | 92 | 1011010 |
a | 97 | 1100001 |
z | 122 | 1111010 |
๋ฌธ์์ด ์ธํธ(ํ)์ ๋ฐ๋ผ 'A' ๋ฌธ์๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ '1000001' ๋ณํํ๊ณ , ๋ค์ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค ๋๋ 'A'๋ก ๋ณํ๋๋ค.
๋ฌธ์์ด ์ธํธ: ๊ฐ ๋ฌธ์๋ง๋ค ์ซ์๋ฅผ ์ ํด๋์ ํ
๋ฌธ์ ์ธ์ฝ๋ฉ: ๋ฌธ์๋ฅผ ์ปดํจํฐ๊ฐ ์ด์ฉํ ์ ์๋๋ก ๋ฐ์ด๋๋ฆฌ(0๊ณผ 1) ์ ํธ๋ก ๋ฐ๊ฟ์ค๋ค.
๋์ฝ๋ฉ: ์ธ์ฝ๋ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์๋๋๋ก ๋๋๋ฆฌ๋ ๊ณผ์
๐ Unicode
ASCII ์ฝ๋๋ ๋ค๋ฅธ ๋๋ผ ๋ฌธ์๋ค์ ํํํ ์ ์์ด์, ๋๋ผ๋ค๋ง๋ค ๊ฐ๊ธฐ ๋ค๋ฅธ ๋ฌธ์์ด ์ธํธ๋ฅผ ์ฌ์ฉํ๋ค. ์ด ๋ฌธ์์ด ์ธํธ๋ฅผ ํ์คํํ๊ธฐ ์ํด ๋ชจ๋ ๋ฌธ์๋ค์ ํ๋์ ํ์ ํฌํจ์ํจ unicode ๋ฌธ์์ด ์ธํธ๋ฅผ ๋ง๋ค๊ฒ ๋์๋ค.
๐ UTF-8
unicode ๋ฌธ์์ด ์ธํธ๋ฅผ ๋งคํํ๋ 2๊ฐ์ง ๋ฐฉ์์ด ์๋ค.
- ์ ๋์ฝ๋ ๋ณํ ํ์(Unicode Transformation Format, UTF) ์ธ์ฝ๋ฉ
- ๊ตญ์ ๋ฌธ์ ์ธํธ(Universal Coded Character Set, UCS) ์ธ์ฝ๋ฉ
UTF์ UCS๋ UCS-2, UCS-4, UTF-8, UTF-16, UTF-32 ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ, UTF-8์ ๊ทธ ์ค ํ๋์ด๋ค.
UTF-8 ์ธ์ฝ๋ฉ์ ์ ๋์ฝ๋ ํ ๋ฌธ์๋ฅผ ๋ํ๋ด๊ธฐ ์ํด 1๋ฐ์ดํธ์์ 4๋ฐ์ดํธ๊น์ง ์ฌ์ฉํ๋ค.
- ASCII ๋ฌธ์๋ค์ 1๋ฐ์ดํธ๋ง์ผ๋ก ํ์
- ํ๊ธ์ 3๋ฐ์ดํธ๋ก ํ์

๐ URL Encoding ์ด๋?
URL๋ก ์ ์กํ ์ ์๋ ๋ฌธ์๋ ASCII ์ฝ๋ ๋ฌธ์๋ง ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์, ASCII๊ฐ ์๋ ๋ฌธ์๋ค์ URL์ ์ฌ์ฉํ ์ ์๋๋ก ๋ฐ๊ฟ์ฃผ๋ ์์ ์ URL Encoding์ด๋ผ ํ๋ค.
๊ทธ๋์ ASCII ์ฝ๋์ ํฌํจ๋์ด ์์ง ์๋ ํ๊ธ ๋ฑ์ UTF-8 ์ธ์ฝ๋ฉ๋์ด ํํ๋๊ณ , ASCII ๋ฌธ์์ ํฌํจ๋๋๋ผ๋ ๋ฌธ์ ๊ทธ ์์ฒด ์๋ฏธ๋ก ์ ๋ฌํ๊ณ ์ถ๋ค๋ฉด ์ด์ค์ผ์ดํ ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผ ํ๋ค. '/' ๋ %2F, '&'๋ %26์ผ๋ก ์ธ์ฝ๋ฉ๋๋ค.
'https://ko.wikipedia.org/wiki/๋ฌธ์_์ธ์ฝ๋ฉ' ์ฃผ์๋ ๋ค์๊ณผ ๊ฐ์ด ๋ณํ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
๋ฌธ = %EB%AC%B8, ์ = %EC%9E%90,
์ธ = %EC%9D%B8, ์ฝ = %EC%BD%94, ๋ฉ = %EB%94%A9
๐งท ์ฐธ๊ณ
- https://ko.wikipedia.org/wiki/%EB%AC%B8%EC%9E%90_%EC%9D%B8%EC%BD%94%EB%94%A9
- https://ko.wikipedia.org/wiki/ASCII
- https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C
- https://ko.wikipedia.org/wiki/UTF-8