์ด ํฌ์คํ
์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ ์ ์์ต๋๋ค.
์ด๋ฅผ ๋ค์ ์๋์ฐ๋ก ๊ฐ์ ธ๊ฐ์ ๋.. ๋ ๋ค์ ๊ฒช๊ฒ ๋๋ ๋ฌธ์ ์ ์ ๋๋ค.
์ด ๋ฌธ์ ํํ ๋ฐฉ์์ด๋ผ๋ ๊ฒ ๋ด์ฉ๋ ์๋นํ ๋ง๊ณ , ํ๊ณ ๋ค์ด๊ฐ๋ฉด ๋ง์ ๋งํผ ํท๊ฐ๋ฆฌ๊ฒ ๋ฉ๋๋ค.
์ด๋ ๊ทธ๋ด ๊ฒ์ด, ๋๋ผ๋ง๋ค ๋ฌธ์ ํํ ๋ฐฉ์์ด ๋ค๋ฅธ๋ฐ ์ค์ฃฝํ๊ฒ ์ต๋๊น?
์ง๊ธ ์ ๊ฐ ๋งํ ๊ฒ๋ ๋ชจ๋ ํ๊ธ, ์์ด ๋ฟ.. ์ค๊ตญ์ด, ์ผ์ด, ์ ๋ฝ์ด ๋ฑ.. ๋ง์ ์ธ์ด ์ฒด๊ณ๊ฐ ์๊ฒ ์ง์.
์ ๋ ์ต๊ทผ ์ด๋ฌํ ๋ฌธ์ ์ ๊ถ๊ธ์ฆ์ ํด๊ฒฐํด๋ณด๊ณ ์ ๋ง์ ๋ ํผ๋ฐ์ค๋ฅผ ์ฐธ๊ณ ํ์์ต๋๋ค.
๋ณด๋ฉด ๋ณผ ์๋ก ํท๊ฐ๋ฆฌ๊ณ ... ์ ๋ฆฌ๋ ์ ๋๊ณ ... ํ์ง๋ง ๋๋ต ๊ฐ(!?)์ ์กํ์ผ๋ ๊ทธ ๊ฐ์ ์ด ๊ธฐํ์
ํ์ด ๋์๊น ํฉ๋๋ค.
๊ทธ๋ผ ์ฌ๋ฏธ์๋ ์ปดํจํฐ ๋ฌธ์ ํํ ๋ฐฉ์ ์ด์ผ๊ธฐ๋ฅผ ์์ํด๋ณผ๊น์...?
ํธ๋์ด๊ฐ ๋ด๋ฐฐ๋ฅผ ํผ๋ ์์ .. ์ฐ๋ฆฌ๋ ASCII ๋ผ๋ ๋ฌธ์ ์งํฉ์ ์ฌ์ฉํ์์ต๋๋ค.
์ด ASCII ๋ฌธ์ ์งํฉ์ ๊ฐํ ํ๋ช
์ ์ด๋ผ ํ ์ ์์์ง์.
์ฌ์ค ASCII ์ ์ ๋ฌธ์ ์งํฉ์ ์ ๋ ์ ๋ชจ๋ฆ
๋๋ค.
์ฌํํผ, ASCII ๋ฌธ์ ์งํฉ์ ํฌ๋์ ์ถฉ๊ฒฉ์ด์์ผ๋ฉฐ, ๋์ค์ ๋ค๋ฅธ ๊ตญ๊ฐ๋ค์ ์ ๋ง์ด๊ธฐ๋ ํ์์ง์.
ASCII ๋ฌธ์๋ Byte = Character ์ ๋ฑํธ์๋ 1Byte๋ฉด ์ํ๋ฒณ, ์ซ์, ํน์๋ฌธ์,
์ ์ด๊ธฐํธ๋ฅผ ํํํ ์ ์์์ต๋๋ค. 1Byte = 256 ๊ฐ์ ๋ฌธ์๊ฐ ํํ๊ฐ๋ฅํ์ง์.
์? 0x00 ~ 0xFF ๊น์ง๋๊น ๋ง์
๋๋ค.
ํ๋ฐ, ๊ทธ๊ฒ๋ ๋ฌธ์์ด์ ๋์ ์ฌ์ฉํ๋ 0x00 ์ ์ฌ์ฉํ๋ฉด์ ์ค์ ๋ก๋ 255๊ฐ๊ฐ ๋๊ณ ๋ง๋๋ค.
์ฌ๊ธฐ์ ๋์ด๋? ์ด๋ ๋ฐ์ ๋๋ ์ 128 ๋ฐ์ ๋์ง ์์ง์. ๊ทธ๋ผ ๋๋จธ์ง 128๊ฐ๋?
๊ทธ๋๋ง ๋จธ๋ฆฌ ์ข์ผ์ ๋ถ๋ค์ด ๋์ค์ ASCII๋ก ํํ ๋ถ๊ฐ๋ฅํ ๋ฌธ์๊ฐ ์๊ธฐ์ง ์์๊น ์๊ฐํด์
์์ฝ์ ํด๋์ จ์ต๋๋ค. ์ ํํ ์์ฝ์ ์๋๊ณ ์ ์๋์ง ์์์ง์.
๊ทธ๋ฆฌ๊ณ , ๋ช ํด๊ฐ ์ง๋ ์ฌ์ฉํ์ง ์์ 128๊ฐ๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ดํ๋ ์ฌ๋๋ค์ด
์๊ฒจ๋๊ธฐ ์์ํ์ง์. ๊ทธ๋ด ์ ๋ฐ์ ์์ง์. ์ฌ๋์ด ์์ด๋ง์ผ๋ก ์ด ์ ์์ง ์๋์?
๋ฐฅ ๋ง๊ณ ๋ฐ์ฐฌ๋ ๋จน์ด์ผ์ง์..-_-; ๊ทธ๋์! ๊ธฐ์กด ASCII ๊ฐ 1Byte = B+00000000 ์ด๋ผ๋ฉด
128(B+10000000) ์ด์๋ถํฐ ์ฌ์ฉํ๊ธฐ ์์ํ๊ฑฐ์ฃ .
์ฌ๊ธฐ์์ ๋ฐ๋ก ์ฝ๋ํ์ด์ง(Code page)๋ผ๋ ๊ฒ ๋ฑ์ฅํ๊ฒ ๋ฉ๋๋ค.
์ฝ๋ ํ์ด์ง๋ ๋ฌธ์ ์ธ์ฝ๋ฉ ํ
์ด๋ธ(0~255๊น์ง์ ์ ์๋ฅผ ํํํ๋ ๋นํธ๋ค์ด ๋ฌธ์์
๋งตํ ๋ ๋ํ)์ธ๋ฐ ์ต์ด์ IBM ์์ ๋์จ 437 ๋ง๊ณ ๋ MS์ฌ์์ ๋ง๋ 949 ๋ ์์ต๋๋ค.
์ด๋ค์ ๋ชจ๋ CPXXX ํํ๋ก ์ฐ์ด๋๋ฐ CP437, CP949 ํํ๋ก ๋ง์ด์ฃ .
์ด ์ฝ๋ ํ์ด์ง๋๊ฒ ์๊ธฐ์ ์ฌ์ฌ ๋ฌธ์๊ฐ ๋ฐ๋จ์ด ๋๊ธฐ ์์ํฉ๋๋ค.
์๋? ์ฝ๋ ํ์ด์ง๋ฅผ ์์์ผ ๋ฌธ์๋ฅผ ํํํ ์๊ฐ ์์ผ๋๊น ๋ง์ด์ฃ .
์ด์ฏค๋๋ฉด ์ฌ์ฌ ์๋ฌธ์ด ๋ค๊ธฐ ์์ ํ ๊ฒ๋๋ค. 1Byte์์ ASCII ๋ฌธ์ 128๊ฐ ๋นผ๊ณ ..
๋๋จธ์ง 128๊ฐ๋? ๋๋จธ์ง 128๊ฐ๋ก ์์ด ์ธ์ ๋ฌธ์๋ฅผ ํํํ๋ผ๊ณ ? ๋ง์ด๋ ๋ฉ๋๊น?
๋น์ฐํ ์ ๋ฉ๋๋ค. ๊ทธ๋์ ์ด๋ฌํ ํ๊ณ๋ฅผ ๋ํํ๊ณ ์ Byte๋ฅผ ์์ ํ๋ ๋ ๋ถ์ฌ์
๋ค๋ฅธ ๋ฌธ์๋ฅผ ํํํ๊ฒ ๋ฉ๋๋ค. ์ด๋ฅผ ๋๊ณ ์ ์ ๋ฌธ์ ์ผ๋ก DBCS(Double Bytes
Character Set)์ด๋ผ ๋ถ๋ฆฌ๊ฒ ๋์ง์.
์ด์ฏค์์ ๋๋ํ ์ง๋จ์ด ๋ ๊ณณ์ด ๋ค๊ณ ์ผ์ด๋๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ก ์ ๋์ฝ๋๋ฅผ ์ธ์น๋
์ ๋์ฝ๋ ์ฝ์์์๊ณผ ISO ์์ต๋๋ค. ์ด ๋ ๊ณณ์์๋ ๋ง ๋ง๊ณ ํ ๋ง์ ๋ฌธ์ ํํ ์ฒด๊ณ๋ฅผ
ํตํฉํ๋ ค๋ ์์ง์์ด ์์์ต๋๋ค. ๊ทผ๋ฐ ์ฌ๊ณต์ด ๋ง์ผ๋ฉด ๋ฐฐ๊ฐ ์ฐ์ผ๋ก ๊ฐ๋ค๊ณ ..
์ด ๋ ๊ณณ์์ ์๋ก ๋ค๋ฅธ ํตํฉ ์ฒด๊ณ๋ฅผ ๋ง๋ค์ด ๋์ผ๋ ๊ฒฐ๊ตญ ISO๋ 10646 ํ์ค์ด์๊ณ ,
์ ๋์ฝ๋ ์ฝ์์์์์ ์ ๋์ฝ๋(Unicode)๋ฅผ ๋ค๊ณ ๋์๋๋ฌ์ฃ .
์ฌ์ค ์ด๋ ์ธ๊ณ๊ฐ ์๊ตฌํ๋ ๋ฐ๊ฐ ์๋๊ธฐ์ ์ด ๋ ๊ณณ์ ์๋ก ํ๋ ฅํ๊ณ ๊ณตํต์ ์ธ ํ
์ด๋ธ์
๋ง๋ค๊ธฐ๋ก ํฉ๋๋ค. ๊ทธ๋ ๋ค๊ณ ์ด ๋ ๊ณณ ๋ชจ๋ ํตํฉ ๋ ๊ฒ์ ์๋์๊ณ , ๊ทธ๋ค๋๋ก ํ์ค์ ๋ด๋
์ ๊ฒ์ด์ฃ .(์ง๊ธด ์ซ๋ค๋ ์๊ธฐ?) ๋ฐ๋ผ์ ์ด ๋์ ๊ฑฐ์ ๋ชจ๋ ๋ฌธ์๋ค์ด ๊ฐ์ ์์น, ๋ช
์นญ์
์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. ์์น์ ๋ช
์นญ์ด ์๋นํ ์ค์ํ์ฃ .
์์น์์ ๋ฐ๋ผ์ ํ ์ด๋ธ์ด ๋ฐ๋๊ฒ ๋๋ ๋๋ฌด๋ ๋คํ์ธ๊ฑฐ ์๋๋๊น?
์ ๋ง์ ๊ฒฐ๊ตญ ์ฌ๊ธฐ์ ์ ๋์ฝ๋(Unicode)๊ฐ ๋์ค๊ฒ ๋์๊ณ , ์ฌ๋๋ค์ ์ด์ 2Byte๋ฉด
๋ชจ๋ ๋ฌธ์๋ฅผ ํํํ ์ ์๋ค๊ณ ๋ฏฟ๊ฒ ๋ฉ๋๋ค. ์ถํ ๋ฏฟ์์ ๊ณง ๊นจ์ง๊ฒ ๋๋๋ฐ ๋ง์ด์ฃ ^^?
2Byte๋ฉด 16๋นํธ ์
๋๋ค. B+0000000000000000(8bit * 2) ๋งํผ ์ ์ฅ ๊ณต๊ฐ์ ํ ๋ฌธ์๋ฅผ
ํํํ ์ ์๊ฒ ๋๋ ๊ฒฐ๊ตญ 65536๊ฐ๊ฐ ์๋๊ฒ ์ต๋๊น?
๋ฌผ๋ก ์ฌ๊ธฐ์ 0x00(NULL)์ ๋นผ์ 65535๊ฐ ๋๊ณ ๋ง์ง๋ง์.
๊ทผ๋ฐ ์ ๋ฏฟ์์ ๊นจ์ง๊ฒ ๋๋๊ตฌ์? ๋ฐ๋ก ๋ฉ์ง ์ํคํ
์ณ๋ค ๋๋ถ์ด์ง์.
์ด๋ค์ด ์๋ก ๋ ๋ฉํฐ ๋ฐ์ดํธ๋ฅผ ๋ค๋ฃฐ ๋, ๋๋ ํต์ ํ ๋, Endian(Byte-Order) ๋ฌธ์ ๋ฅผ
๋ฐ์์ํจ ์ฅ๋ณธ์ธ๋ค ์ด๋๊น์.
๊ทธ๋ผ, ๋ฌธ์์ด์ Endian ๋ฐฉ์์ ๋ช ์ํด์ค์ผ ํ๋๋ฐ ์ด๋ผ? ๊ทธ๋ผ 2Byte๋ก ๋ชจ์๋ฅด์ง ์์๊น์?
๋ชจ์๋ฅด์ง์. ๋น์ฐํฉ๋๋ค. ๋ชจ๋ ๊ตญ๊ฐ์ ์ฌ๋๋ค์ด ์ ๋ธ๋ก๊ทธ์ ์์ ๊ธ์ ์ ๊ณ ๊ฐ๋ค๋ฉด ์ ๊ฐ
๋ชจ๋ ์ ๋๋ก ๋ณผ ์ ์์๊น์? ๊ทธ ๋น์์ ์๋์๋ ๊ฑฐ์ฃ . ๊ทธ๋์ Unicode ๊ฐ ์ปค์ง ํ์๊ฐ
์์์ต๋๋ค. ์ข๋ ์๋ก์ด ๊ฒ์ด ๋์ค๋ ๊ฒ ์๋๋ผ ํ์ฅ์ด๋ผ๊ณ ๋ด์ผ๊ฒ ์ง์.^^
์๊พธ Unicode ์๊ธฐ๋ฅผ ํ๋๋ฐ ์ด๋ ์ ๋์ฝ๋ ์ปจ์์์์์ ๋ด๋์ ํ์ค์ด๊ตฌ์.
์ ์์ ISO 10646-1์๋ UCS(Universal Character Set) ๋ผ๋ ์ธ์ฝ๋ฉ ๋ฐฉ์์ด ์์์ต๋๋ค.
์ ๊น ์ด UCS์ ๋ํด์ ์๊ฐํด ๋๋ฆฌ์๋ฉด ์ด๋ก ์์ผ๋ก 110๋ง๊ฐ ์ด์์ ์ฝ๋๊ฐ ์กด์ฌํฉ๋๋ค. +_+
ํ์ง๋ง UCS-2 ์์๋ ๊ธฐ๋ณธ ๋ค๊ตญ์ด ํ๋ฉด(BMP(Basic, Multilingual Plane)
๋๋ Plane 0)๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
๊ธฐ๋ณธ ๋ค๊ตญ์ด ํ๋ฉด ๋ง์ผ๋ก๋ ํ๊ธ ๋ฐ ํ์ ๋ฑ ์ ๋์ฝ๋์์ ์ง์ํ๋ ๋๋ถ๋ถ์
๋ฌธ์๋ค์ด ์ง์ ๊ฐ๋ฅํฉ๋๋ค.
๋ฌธ์ ๋ ์ฐ๋ฆฌ ๊ฐ์ ์ผ๋ฐ ํ๋ฏผ์ด ์๋๋ผ ์ธ์ด๋ฅผ ์ฐ๊ตฌํ๋ ๊ณผํ์๋ค ๋๋ฌธ์ ์ด๋ป๊ฒ ๋ณด๋ฉด ๋ฌธ์ ๊ฐ
๋ฐ์ํ์ฃ . ์ฐธ๊ณ ๋ก BMP๋ 2Byte ์
๋๋ค. BMP ์์ญ ์ธ์๋ ๋ณด์กฐ ๋ค๊ตญ์ด ํ๋ฉด,
์ํ ๋ฌธ์ ํ๋ฉด ๋ฑ์ด ์๋๋ฐ์. ์ด๋ค์ ๋ชจ๋ ๊ณผํ์๋ค์ด ์ฐ๊ตฌํ๋ ํน์ํ ํํ๋ฅผ ์ํด
๋๋ ๊ฒ์ด์ฃ . ๋ ๋ค๋ฅธ ๊ฒ์ด UCS-4 ๊ฐ ํ ๋ฌธ์๋ฅผ ํํํ๊ธฐ ์ํด์ 4Byte๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ธ๋ฐ์.
UCS-2 ์ UCS-4 ์ ์ฐจ์ด์ ์ ํ ๋ฌธ์๋ฅผ 2Byte๋ก ํํํ๋๋ 4Byte๋ก ํํํ๋๋ ์ ๋๋ค.
์์ฐธ.. UCS-2์์ ํ๊ธ์ 3Byte ๋ผ๋ ์ .. ์์๋์๊ตฌ์.
๊ทผ๋ฐ UCS๊ฐ Unicode์ ๋ญํ๋๊ตฌ์?
๊ทธ๊ฑด ์๋ ๋ฏ ์ถ์ต๋๋ค. ์๋์ฃ . ๋ญํ๋ค๊ณ ๋ด์ผ ํ๋์..-_-;;
ํ์ฌ ๋ชจ๋ Unicode๋ ๊ทธ ์ญ์ฌ์ UCS๊ฐ ์๋ค๋ ๊ฑด ์์ ์ผ ํ ๋ฏ ์ถ์ต๋๋ค.^^
UCS๊ฐ ์ ์๋ ISO 10646์ด ๋์ค๊ณ ์๋ ์ฐ๋ฆฌ๋๋ผ์์๋ 1995๋
๋์ KS X 1005๋ฅผ
๊ณตํํ์ผ๋๊น ๋ง์ด์ฃ .
์ด ์ ๋๋ฉด UCS์ ๋ํ ์๊ธฐ๋ ๊ทธ๋ง ๋ฌป์ด๋๊ณ ์. ๋ค์ ๋ณธ๋ก ์ผ๋ก ๋ค์ด๊ฐ๊น์?
์๊ฐ์ ํด๋ณด์ธ์. ๊ฐ์ฅ ์ฒ์์ 1Byte ์๋๋ฐ 2Byte, 3, 4Byte ๋ก ๋ฌธ์๋ฅผ ํํํ๋
์ด ๋ฐ๋ ๊ฑด ๋๊ตฌ? ๋ฏธ๊ตญ์ด๋ ์๊ตญ ์๋๊น์?
์๋ค๋ค์ ์ฒ์๋ถํฐ ์๋ฌด ๋ถํธ์์ด ์ฌ์ฉํ๊ณ ์์๋๋ฐ ์๊พธ ๋ด ๋๋ผ๋ค์ด
ํ๊ธ์ ๊ฑธ์์์. ์ต๋ 4๋ฐฐ์ ์ ์ฅ๊ณต๊ฐ์ด ์ถ๊ฐ์ ์ผ๋ก ํ์ํ๊ฒ ์๊ฒผ๋๋ฐ ์ด ๋ฐ์ ๋ง๋ ํ์ฃ ..
๊ทธ๋์ ๋ฌธ์ ํ๋ช ์ธ UTF-8 ์ด ์๊ฒจ๋๊ฒ ๋์์ต๋๋ค. ์ ํ๋ช ์ด๋..!!!
ASCII ๋ฌธ์๋ฅผ ๊ทธ๋๋ก UTF-8 ์์๋ 1Byte๋ก ์ ์ฅํ ์ ์๊ฑฐ๋ ์~
๊ทธ๋ฌ๋ฉด์๋ ๊ทธ ์ด์ ํ์ํ ๋ฌธ์์ฝ๋๋ ์ฒซ ๋นํธ์ 1์ ๋ถ์ด๊ณ ,
์ด ์ซ์ 1์ ์ฐ์์ฑ์ ๊ฐ์๊ฐ ์ด ๋ฌธ์๊ฐ ๋ํ๋ด๋๋ฐ ์ฌ์ฉ๋์ด์ง
๋ฐ์ดํธ ์๊ฐ ๋์ด ๋ชจ๋ ๋ฌธ์๋ฅผ ํํํ ์ ์์๋ ๊ฒ์ด์ง์.
์์ธํ ์๊ธฐํ๋ฉด ๋ฉํฐ ๋ฐ์ดํธ ๊ฒฝ์ฐ ๋ค์ ๋นํธ๊ฐ ํผ๋์ ์์ง๊ฐ ์๊ธฐ ๋๋ฌธ์
๋ท ๋ฐ์ดํธ์ ์ฒซ ๋นํธ ์ญ์ 1๋ก ํํํ์์ต๋๋ค.
๋ ์์ธํ ์ฌํญ์ ๋ฐ์ ๊ด๋ จ ๋ ํผ๋ฐ์ค๋ฅผ ๋ณด๋ฉด ์ ๋ณด๋ค ํจ์ฌ ์์ธํ ์ ํํ ์ค๋ช
ํด๋์๊ธฐ ๋๋ฌธ์ ๊ฑฐ๊ธฐ๋ก ๋๊ธฐ๋๋ก ํ๊ฒ ์ต๋๋ค. ์ด๋ฐ ์ธ์ฝ๋ฉ ๋ฐฉ์(UTF-8)์ ์ฝ๋์
ํฌ๊ธฐ๋ง ํค์ฐ๋ฉด ์๋ก์ด ๋ฌธ์๋ฅผ ๊ณ์ ๋ง๋ค์ด ๋ผ ์๋ ์์ง ์์๊น์?
ํ์ฌ ํ ๊ธ์ ์ต๋ ์ธ์ฝ๋ฉ ํฌ๊ธฐ๋ 6Byte ๊น์ง ์๋ค๊ณ ํฉ๋๋ค.
๊ทผ๋ฐ UTF-8 ๋ง๊ณ ๋ UTF-7 ๋ ์๊ณ UTF-16๋ ์์ต๋๋ค. UTF-7์ ๊ฑฐ์ ๋ฌปํ์ง๋
๋ถ์๊ธฐ์ด๊ณ UTF-16์ MS์ฌ์ ์ ์ฑ
์ผ๋ก ์ธํด ์ฌ๋๋ฐ๊ณ ์์ง์.
UTF-16์ BMP ์์ญ์ ์ํ๋ ๋ฌธ์๋ค์ ๊ทธ๋๋ก 2Byte๋ฅผ ์ฌ์ฉํ๊ณ
๊ทธ ์ด์์ 4Byte๋ก ์ธ์ฝ๋ฉ ๋ฉ๋๋ค. ์ด 4Byte๋ ๋ด๋ถ์ ์ผ๋ก ๋ ๊ฐ์ 16Bit
๋ฌธ์(High, Low)๋ก ๋ณํ๋์ด ํ ์์ด ํ๋์ ๋ฌธ์๋ฅผ ๋ํ๋ด๊ฒ ๋๋ ๊ฒ์ด๊ตฌ์.
MS์ฌ์ ์ํด ์ฌ๋๋ฐ๋ ๋ค๋ ๋ง์ ํ์ฌ Windows ๋ด๋ถ์ ๋ฌธ์์ด ์ฒ๋ฆฌ๋ ๋ชจ๋
UTF-16์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค๋ ๊ฒ์ด์ฃ . ์ ~~~ ์์ CP949๋ ๊ทธ๋ผ ๋ญ๋๊ตฌ์?
CP949๋ Windows 95์์ ์ฒ์ ์ฌ์ฉ๋์๋ ๊ฑธ๋ก ์๋๋ฐ( MS์์ ์๋ CP949๋ฅผ
๋ง๋ค์ด ๋ธ ๊ฒ์
๋๋ค.) ์ผ๋จ CP949๋
ํ์ฌ ์ ๊ฐ ์ฌ์ฉํ๋ XP ๊ธฐ์ค์ผ๋ก๋ CMD ๋ ๋ฉ๋ชจ์ฅ์์๋
๊ธฐ๋ณธ ์ธ์ฝ๋ฉ ๋ฐฉ์์ผ๋ก ์ง์ ๋ผ ์๊ตฌ์. ์ด๋ ์์์ ๋งํ ๋ด๋ถ์ฒ๋ฆฌ์๋ ๋ค๋ฆ
๋๋ค. CMD๋
๋ฉ๋ชจ์ฅ์ ํ๋์ ์ดํ๋ฆฌ์ผ์ด์
์ด๋๊น ๋ง์ด์ฃ (ํ๋ฉด์ ํ์๋๋ ๋ฐฉ์์ CP949, CE๋ UCS-2
๋ฐฉ์์ด๋ผ๊ณ ํ๋ค์).
์ ๊ธฐํ ๊ฑด ๋ญ์ง ์์ญ๋๊น? ๋ฆฌ๋ ์ค ๊ฐ์ ๊ฒฝ์ฐ๋ ํ๋์ ๋ฐฐํฌํ CD๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉด
๋ก์ผ์ผ ์ค์ ๋ง ๋ฐ๊พธ๋ฉด ์ด๋ ๋๋ผ ์ธ์ด๋ ์ง ์ฌ์ฉํ ์ ์์์์.
๊ทผ๋ฐ ์๋์ฐ๋ ํด๋น ๋ฒ์ ์ Windows๋ฅผ ์๋ก ์ฌ์ผ๋์ง์. ๊ตฌํ๋ ์ง..-_-;
๊ฒฐ๊ตญ ์ธ์ด ๋ณ๋ก CD๋ฅผ ๋ฐ๋ก ์์ฐํด๋ด๊ณ ์๋ค๋ ๊ฒ๋๋ค. ์! ๊ทธ๋ด๊น์ -_-?
๊ฒฐ๋ก ์ UTF-8์ด ์ข๋ค๋ ์๊ธฐ์ธ๋ฐ.. ์๋ํ๋ฉด ์ด UTF-8 ๊ฐ์ ๊ฒฝ์ฐ ASCII ๋ฌธ์๋ฅผ ๊ทธ๋๋ก
์์ฉํ๊ณ ์๊ฑฐ๋ ์.
1๋ฐ์ดํธ๋ฅผ ์ด๋ ์ด์ ๊ฐ ๊ทธ๊ฑฐ์์์ง์. ์ด ๋๋ฌธ์ UTF-8 ์ ASCII๋ก ์ธ์ฝ๋ฉ ํด๋
์ ํ ๋ฌธ์ ๋ ์์ต๋๋ค. ๋จ์ง ๋ด๋ถ์ ์ผ๋ก ASCII ์ฝ๋ ์์ 0x00 ์ ์ฝ์
์ํด์ผ๋ก์จ
UTF-8๋ก ๋ณํ์ด ๊ฐ๋ฅํ์ฃ . ๊ฒฐ๊ตญ ์ด๋ฅผ ๋๊ณ ํ์ ํธํ์ฑ์ ๊ฐ์ง๋ค๊ณ ๋งํฉ๋๋ค.
UCS-2๋ ๊ทธ๋ฌํ๊ณ UCS-4๋ ๊ทธ๋ฌํ๊ธด ํฉ๋๋ค๋ง..ใ
๊ทธ๋ฆฌ๊ณ ์น ์(์ ์ธ๊ณ ์ฌ๋๋ค์ด ์ด๋๋ ํญํดํ ์ ์๋!! ๋ฐ๋ก ๊ทธ๊ณณ!!)์์๋ ๋์ฑ์ด
UTF-8๋ก ๋๋ฉด ๋ฌด์ฒ ์ข๊ฒ ์ง์. ๊ทธ๋์ ์์ฆ ์น ํ์ด์ง๋ค์ด ๋ชจ๋ UTF-8๋ก ๋ณํ๋๊ณ ์๋
์ถ์ธ์ด๊ธฐ๋ ํ๊ตฌ์.
์ด ์ ๋ ์ฝ์ผ์ จ๋ค๋ฉด ๋ช ๊ฐ์ง ์ ๋ณด๋ฅผ ์๋ ค๋๋ฆฌ๊ณ ๋ง์น๋๋ก ํ์ง์.
๋จผ์ , ์์ ๋ฌธ์ ์งํฉ(Character Set)๊ณผ ๋ฌธ์ ์ธ์ฝ๋ฉ(Character Encoding)์ด๋ ์ฉ์ด๋ฅผ
์ฌ์ฉํ์๋๋ฐ ์ด ๋์ ๋ช
ํํ ํ์ง ์์ผ๋ฉด ์๋นํ ํท๊ฐ๋ฆฌ๊ฒ ๋ฉ๋๋ค.
์ ๊ฐ ์ถฉ์ผ์ด ๊ธ์ ์ธ์ฝ๋ฉ ์
์ด๋ผ๊ณ ๋ช
์ํ ์ด์ ๋ ์ด ๋์ ๋ชจ๋ ๊ฐ๋ฆฌ์ผ์ ํ๋ ๋ง์ด๊ณ ๋ ํ๊ตฌ์.
๋จผ์ ๋ฌธ์ ์งํฉ์ ๋ํด ๋ง์๋๋ฆฌ์ง์.
๋ฌธ์ ์งํฉ์ ์ฝ๊ฒ ๋ฌธ์์ ๋ฒํธ๋ฅผ ๋งค๊ธด ํ
์ด๋ธ์ด๋ผ ํ ์ ์์ต๋๋ค.
ํ๋์ ์ฒด๊ณ๋ฅผ ๋ํ๋ด๋ ๊ฒ์ด์ง์. ๋ฐ๋ผ์ ๋ฌธ์ ์ธ์ฝ๋ฉ๊ณผ๋ ๊ตฌ๋ถ์ด ๋๊ตฌ์.
ํ๋์ ๋ฌธ์์งํฉ์ ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์ ์ธ์ฝ๋ฉ์ ๊ฐ์ง ์๊ฐ ์๊ฒ ์ง์. ASCII, KS X 1001,
Unicode ๊ฐ ๋ฌธ์ ์งํฉ์ด ๋๋ ๊ฒ์
๋๋ค.
๋ฌธ์ ์ธ์ฝ๋ฉ์ ๋ง์ด์ง์. ์ด ๋ฌธ์ ์งํฉ์ ์ปดํจํฐ์ ์ ์ฅํ๊ฑฐ๋ ํต์ ์ ์ฌ์ฉ๋ ๋ชฉ์ ์ผ๋ก
๋ฐ์ดํธ ํํ๋ก ๋ณํ์ ์์ผ์ผ ํ๋๋ฐ ๋ง์ด์ฃ . ์ด๋ ๋ฌธ์ ์ฝ๋๋ฅผ ๋ฐ์ดํธ ํํ๋ก ๋ํ๋ด๋
๋ฐฉ์์ ์ธ์ฝ๋ฉ์ด๋ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋, ์ด๋ค์ ๋ฌธ์ ์งํฉ๊ณผ๋ ๊ตฌ๋ถ์ด ๋๊ฒ ์ง์.
์ข
๋ฅ๋ EUC-KR, CP949, UCS, UTF ๋ฑ์ด ์๋ ๊ฒ์ด์ง์.
๊ฒฐ๊ณผ์ ์ผ๋ก UCS, UTF ๋ชจ๋ Unicode ์ด๋๋๋๋ค~.
๋ฐฉ๊ธ EUC-KR ์ด ๋์๋๋ฐ์. ์ด๋ ๋ฌด์ํ ์ ์์ด ์์ฃผ ๋ณผ ์ ์๋ ๋ฌธ์ ์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ์ ๋๋ค.
EUC(Extended Unix Code: ํ์ฅ ์ ๋์ค ์ฝ๋) ๋ผ๊ณ ํด์ 10์ ์ค์์ kldp์์ cp949์ ํจ๊ป
๋
ผ์์ด ๋์๋ ๋ฐฉ์์ด๊ธฐ๋ ํ์ง์.
EUC-KR์์๋ ์์ด๋ KS X 1003(์ ์ด๋ฆ:KSC 5636,์ฌ๊ธฐ์ ASCII ๋ฌธ์์ ๋ํ ํ์ค์ด
๊ธฐ์ ๋์ด ์์) ํ๊ธ์ KS X 1001(์ ์ด๋ฆ:KSC 5601)์ ์ฌ์ฉํ๋๋ฐ์.
์ด๋ฌ๋ฉด ์์ด๋ 1Byte, ํ๊ธ์ 2Byte๋ฅผ ์ฌ์ฉํด์ ํํ๋ฉ๋๋ค.
๊ทผ๋ฐ ์์ด๋ฌ๋ํ๊ฒ ์ฌ๊ธฐ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ์. ๋ฐ๋ก ํ๊ธ์ ์ต๋์ ๋ฌธ์ ์
์กฐํฉํVS์์ฑํ์ด๋ ๋ฌธ์ ์ด์ฃ .
์ด EUC-KR ์ด๋ ๋์ด ์์ฑํ์ธ๋ฐ ์์ฑํ์ด๋ค ๋ณด๋ ํ๊ธ์ 2350์ ๋ฐ์ ํํ์ ๋ชปํ์ต๋๋ค.
๊ทธ๋ผ ์์ฆ ์ ํํ๋ ํต์ ๋ฌธ์(์ํํ,๋ท) ๋ฑ๋ ์ง์ ๋ชปํ๊ฒ ๋๊ตฌ์.
ํฌ์ค์ฝ ๊ฑด์ค์ ๋์พ(The #)๋ ์ง์ ๋ชปํ๊ฒ ๋ฉ๋๋ค. ์์ฑํ์ ์ต๋์ ๋ฌธ์ ์ ์ด์ง์.
์ด๋ฌํ ๋ฌธ์ ์ ์ ๊ฐ์ง๊ณ ์๋ KS X 1001 ์ด์์ง๋ง
๊ฒฐ๊ณผ์ ์ผ๋ก EUC-KR ์ธ์ฝ๋ฉ์ด ์ด ๋ฐฉ์์ ์ฌ์ฉํ๊ณ ์์ต์ฃ ..
ํ๋ฐ, ์ด EUC-KR ์ด๋ ๋์ ๊ฐ์ง๊ณ , MS ์ฌ์์ CP949 ํํ๋ก ํ๋ฐ๊ฟ ํ๋ค๋ ๊ฒ์ ๋๋ค.
๊ทธ๋์ Windows์์ EUC-KR ๋๊ฑธ ๋ค์ด ๋ณธ์ ์ด ์์ ๊ฒ๋๋ค. ๋น์ฐํ MS์์ Unix๊ฐ
๋ค์ด๊ฐ ๊ฑธ ์ฌ์ฉํ ๋ฆฌ ๋ง๋ฌดํ์ง์. ์ด์ ์ถ๊ฐํด์ ์ด CP949 ๋ ๋์ด ์์ฑํ ํ๊ธ์ด๊ธด ํ๋ฐ
์๊ธฐ๋ค๋ค์ด ์์๋ก ์กฐํฉํ ๊ธ์๋ฅผ ๋ช๊ฐ ์ง์ด๋ฃ์์ฃ . ๊ทธ ์ถ๊ฐํ๊ฒ.. ๋๋ต 8์ฒ์ฌ์์ฏค ๋ ๊ฒ๋๋ค.
๊ทธ๋ฆฌ๊ณค ์ด๋ฆ์ ํ์ฅ ์์ฑํ์ด๋ผ๊ณ ์ธ๊ธํ์์ฃ .
๊ทผ๋ฐ ๋๋ต KS X 1001๊ณผ ํธํ์ฑ์ ๊ฐ์ ธ์ผ ๋๋๊น ๊ธฐ์กด ์ฝ๋๋ ๊ทธ๋๋ก ๋๋๊ณ ์ถ๊ฐ์ ์ธ
์ฝ๋๋ฅผ ์๊ณผ ๋ค์ ์ถ๊ฐ์์ผฐ๋ค๋ ๊ฒ์ด์ง์. ํ ๋ง๋๋ก, ์ฝ๋๊ฐ ๋ฌธ์์ ์ ๋๋ก ํ์์ ๊ฐ์ถ๊ณ
๋งค์นญ์ด ์ ๋๋ค๋ ๊ฒ์
๋๋ค.
๊ทธ๋์ ๊ทธ ๋ฌธ์ ํ ์ด๋ธ์ ์ ๋ ฌ ์ํค๊ฒ ๋๋ฉด ์์๊ฐ ๋ค์ฃฝ๋ฐ์ฃฝ ๋๊ฒ ๋ผ ๋ฒ๋ฆฌ๊ณ ๋ง์ง์.
๋ญ ๊ทธ๋ฌ๋๋ฌ์ต๋๋ค. ์ฐธ์ผ๋ก ์ญ์ฌ๊ฐ ๊น๊ณ ์ํํ ํ์ง ์์ ์๊ฐ ์์ต๋๋ค.
๊ตณ์ด EUC-KR๋ 2350 ์ ์ด์ธ์ ๊ธ์ ์ธ ์ ์๋ค๊ณ ํฉ๋๋ค. KS X 1001 ๋ถ๋ก3์
๋์์๋ค๊ณ ํ๋ค์. ํ์ง๋ง ์ด๋ฅผ MS๊ฐ ์ง์ํ์ง๋ฅผ ์์์ผ๋ ๋ง์งฑ ๋๋ฃจ๋ฌต์ด ๋ผ ๋ฒ๋ฆฐ ๊ฒ์ด์ฃ .
์ ๊ฐ ์ฌ๊ธฐ์์ ๋ง์ ๋๋ฆฐ ๊ฑด ๋น์ฐ์ ์ด๊ฐ ๋ฐ์ ๋์ง ์์ต๋๋ค.
๋ด๋ถ์ ์ผ๋ก ์ธ์ฝ๋ฉ ๊ธฐ์ ๋ฐฉ์๋ ์ธ๊ธํด์ผ ํ๊ณ , ๋ค๋ฅธ ์ฝ๋ ๋
ผ์ ์ฌํญ๋ ์๋นํ ๋ค์ํ๊ณ
๋ง์ต๋๋ค. ์ด๋ค์ ๊ฐ ์๊ฐ ํ์ํ ๋ ๊ณต๋ถํ๋ ๊ฒ ์ข์ ๊ฑฐ ๊ฐ๊ตฐ์.
์๋์ ๋์์ด ๋ ๋งํ ๋งํฌ ์ฌ์ดํธ๋ฅผ ๋ง์ด ๋ฌ์๋์ต๋๋ค.
์ ๋ ์ด์ฐจํผ ๋ ํผ๋ฐ์ค๋ฅผ ๋ณด๊ณ ๊ณต๋ถํ๊ฑฐ๊ณ (์ ๊ฐ ์ด๊ฑธ ์ค์ค๋ก ์ ๋ฆฌ๋ ์์ง ์์ต๋๊น?)
๋ ์์ธํ ๋ด์ฉ๋ ์์ ๊ฒ์
๋๋ค. ๋ฌผ๋ก ์ ๋ด์ฉ ์ค์ ์ผ ๋ถ๋ถ์ด ํ๋ฆฐ ๊ฒ์ผ ์๋ ์๊ฒ ์ง์. ^^;;
์ ๋์ค/๋ฆฌ๋ ์ค ์ฌ์ฉ์๋ฅผ ์ํ UTF-8 ๋ฐ ์ ๋์ฝ๋ ๊ด๋ จ
http://unix.co.kr/HOWTO/UTF8-Unicode-KLDP/UTF8-Unicode-KLDP.html#toc15
์ํค๋ฐฑ๊ณผ, Wikipedia
๋ฌธ์์งํฉ, ์ธ์ฝ๋ฉ ๊ทธ๋ฆฌ๊ณ ์ ๋์ฝ๋
http://sparcs.kaist.ac.kr/seminar/pcpenpal-20080117-1.pdf
๋ง์ Gooooooooooooooooooooooooooogle ๋ฌธ์๋ค
EUC-KR, UTF8 ์ ๋ํ ๊ฐ๋ฒผ์ด ๋ ผ์