ํ๊ธยท์๋ฌธยท์ด๋ชจ์ง ๊ธ์์์ UTF-8 ๋ฐ์ดํธ๋ฅผ ์ง์ ๋น๊ตํ ๊ฒฐ๊ณผ
ํ๋ฉด์ ํ ๊ธ์๋ก ๋ณด์ด๋ ๋ฌธ์๊ฐ ์ธ์ ๋ JavaScript ๋ฌธ์์ด ๊ธธ์ด 1์ด๋ ์ ์ฅ ์ฉ๋ 1๋ฐ์ดํธ์ธ ๊ฒ์ ์๋๋๋ค. ํ์ฌ ๊ธ์์ ๋๊ตฌ์ ๊ณ์ฐ ๊ท์น์ผ๋ก ์๋ฌธยทํ๊ธยท๊ณต๋ฐฑยท์ด๋ชจ์ง ํ๋ณธ์ ๋น๊ตํ๊ณ , EUC-KR ์์น๋ ์ค์ ์ธ์ฝ๋ฉ ๊ฒฐ๊ณผ๊ฐ ์๋ ํธํ์ฑ ์ถ์ ์น๋ผ๋ ํ๊ณ๋ ํจ๊ป ์ ๋ฆฌํ์ต๋๋ค.
๊ฐ์ ํ ๊ธ์๋ผ๋ ๋ฐ์ดํธ๋ ๋ค๋ฅด๋ค
์๋ฌธ ASCII ๋ฌธ์๋ UTF-8์์ ๋ณดํต 1๋ฐ์ดํธ์ง๋ง ํ๊ธ ์์ ์ 3๋ฐ์ดํธ์ ๋๋ค. ๋ฐ๋ผ์ ํ๋ฉด์ ๋ ๊ธ์์ธ `ํ๊ธ`์ ๊ธ์์ 2, UTF-8 6๋ฐ์ดํธ๋ก ๊ณ์ฐ๋ฉ๋๋ค. ๊ณต๋ฐฑ์ ๊ธ์์์ ๋ฐ์ดํธ์ ํฌํจ๋์ง๋ง ๊ณต๋ฐฑ ์ ์ธ ํญ๋ชฉ์์๋ ๋น ์ง๋๋ค.
`ํ๊ธ ABC`๋ ํ๊ธ ๋ ๊ธ์ 6๋ฐ์ดํธ, ๊ณต๋ฐฑ 1๋ฐ์ดํธ, ์๋ฌธ ์ธ ๊ธ์ 3๋ฐ์ดํธ๋ฅผ ๋ํด UTF-8 10๋ฐ์ดํธ์ ๋๋ค. ๊ธ์์๋ ๊ณต๋ฐฑ์ ํฌํจํด 6์์ด๊ณ ๊ณต๋ฐฑ ์ ์ธ๋ 5์์ ๋๋ค.
| ์ ๋ ฅ | ๊ธ์์ | ๊ณต๋ฐฑ ์ ์ธ | UTF-8 | EUC-KR ์ถ์ |
|---|---|---|---|---|
| ABC | 3 | 3 | 3๋ฐ์ดํธ | 3๋ฐ์ดํธ |
| ํ๊ธ | 2 | 2 | 6๋ฐ์ดํธ | 4๋ฐ์ดํธ |
| ํ๊ธ ABC | 6 | 5 | 10๋ฐ์ดํธ | 8๋ฐ์ดํธ |
| ๐ | 2 | 2 | 4๋ฐ์ดํธ | 4๋ฐ์ดํธ |
์ด๋ชจ์ง๊ฐ 2์๋ก ํ์๋๋ ์ด์
ํ์ฌ ๊ธ์์๋ JavaScript ๋ฌธ์์ด์ `length`๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ ๋ค๊ตญ์ด ํ๋ฉด ๋ฐ์ ์ด๋ชจ์ง ํ๋๋ UTF-16 ์ฝ๋ ๋จ์ ๋ ๊ฐ๋ก ํํ๋ ์ ์์ด ํ๋ฉด์๋ ํ๋๋ก ๋ณด์ฌ๋ ๊ธ์์ 2๊ฐ ๋ฉ๋๋ค. `๐` ํ๋ณธ์ ๊ธ์์ 2, UTF-8 4๋ฐ์ดํธ์์ต๋๋ค.
์ด ๊ฐ์ ์ฌ์ฉ์๊ฐ ๋์ผ๋ก ์ธ๋ ๋ฌธ์ ์๋ ์ ๋์ฝ๋ ๊ทธ๋ํ ์์ ๋ค๋ฅผ ์ ์์ต๋๋ค. ํผ๋ถ์ ์กฐํฉ, ๊ฐ์กฑ ์ด๋ชจ์ง, ๊ตญ๊ธฐ์ฒ๋ผ ์ฌ๋ฌ ์ฝ๋ ํฌ์ธํธ๊ฐ ๊ฒฐํฉ๋ ํ์๋ ์ฐจ์ด๊ฐ ๋ ์ปค์ง ์ ์์ผ๋ฏ๋ก ์ ์ถ์ฒ๊ฐ ๋งํ๋ โ๊ธ์โ์ ์ ์๋ฅผ ๋จผ์ ํ์ธํด์ผ ํฉ๋๋ค.
EUC-KR ๊ฐ์ ์ ์ถ์ ์น์ธ๊ฐ
ํ์ฌ ๋๊ตฌ์ EUC-KR ํญ๋ชฉ์ ASCII ์ฝ๋ ๋จ์๋ 1๋ฐ์ดํธ, ๊ทธ ๋ฐ์ UTF-16 ์ฝ๋ ๋จ์๋ 2๋ฐ์ดํธ๋ก ๋ํฉ๋๋ค. ์ค์ EUC-KR ์ธ์ฝ๋๋ก ๋ณํํด ์ฑ๊ณต ์ฌ๋ถ๋ฅผ ๊ฒ์ฌํ๋ ๋ฐฉ์์ ์๋๋๋ค.
๋ฐ๋ผ์ ํ๋ ์ด๋ชจ์ง๋ EUC-KR์ ์๋ ๋ฌธ์๋ ์ค์ ๋ก ์ ์ฅํ ์ ์๋์ง์ ๊ด๊ณ์์ด ์ซ์๊ฐ ํ์๋ฉ๋๋ค. ์ ํ์ ์ด๋ชจ์ง 4๋ฐ์ดํธ๋ ๋ UTF-16 ์ฝ๋ ๋จ์๋ฅผ ๊ฐ๊ฐ 2๋ฐ์ดํธ๋ก ์ผ ์ถ์ ๊ฐ์ ๋๋ค. ์ค๋๋ ๊ฒ์ํ์ ๋๋ต์ ์ธ ์ ํ์ ์ดํ ๋ ์ฐธ๊ณ ํ๊ณ , ์ ํํ ์ ๋ก๋ ์ ํ์ ํด๋น ์๋น์ค์ ์ธ์ฝ๋ฉ ๋ฌธ์๋ฅผ ์ฐ์ ํด์ผ ํฉ๋๋ค.
์ ์ถ ์ ์ ํ์ธํ ํญ๋ชฉ
- ์๊ธฐ์๊ฐ์๊ฐ ๊ณต๋ฐฑ ํฌํจ์ธ์ง ์ ์ธ์ธ์ง ํ์ธํฉ๋๋ค.
- ๋ฐ์ดํธ ์ ํ์ด๋ฉด UTF-8์ธ์ง ๋ค๋ฅธ ์ธ์ฝ๋ฉ์ธ์ง ์ ์ถ์ฒ ์๋ด๋ฅผ ํ์ธํฉ๋๋ค.
- ์ด๋ชจ์ง์ ๊ฒฐํฉ ๋ฌธ์๋ ํ๋ฉด์ ํ ๊ธ์์ ๋๊ตฌ์ ๊ธ์์๊ฐ ๋ค๋ฅผ ์ ์์ต๋๋ค.
- ์ค๋ฐ๊ฟ์ ๊ธ์์์ ๋ฐ์ดํธ์ ํฌํจ๋๋ฉฐ ์ด์์ฒด์ ยท์ ๋ ฅ ๋ฐฉ์์ ๋ฐ๋ผ ์ ์ฅ ํํ์ด ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
- ์ต์ข ์ ๋ ฅ ์ฐฝ์ ๋ถ์ฌ ๋ฃ์ ๋ค ๊ทธ ์๋น์ค๊ฐ ํ์ํ๋ ์์น๋ฅผ ๋ง์ง๋ง์ผ๋ก ํ์ธํฉ๋๋ค.