์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
1. ๊ฐ์[ํธ์ง]
Multi-Byte Character Set
์ ๋์ฝ๋๋ฅผ ์ ์ธํ ๋ฌธ์ ์ธ์ฝ๋ฉ์์ ๋ ๊ฐ ์ด์์ ๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์๋ฅผ ํ์ํ๋ ๋ฐฉ์.
๋๋ถ๋ถ 2๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ DBCS(double-byte character set)๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. ์ด๋ก ์์ผ๋ก MBCS๋ 3๋ฐ์ดํธ ์ด์์ ๋ฌธ์๋ ํฌํจํ ์ ์๊ธฐ ๋๋ฌธ์ MBCS๊ฐ ๊ณง DBCS์ธ ๊ฒ์ ์๋์ง๋ง, 2๋ฐ์ดํธ๋ฅผ ์ด๊ณผํ๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ค์ DBCS=MBCS๋ก ๊ตณ์ด์ก๋ค. ๊ทธ ์ธ์๋ ํ๊ตญ์ด, ์ค๊ตญ์ด, ์ผ๋ณธ์ด์์ ์ฃผ๋ก ์ฐ์ด๊ธฐ ๋๋ฌธ์ Chinese, Japanese, Korean์ ์๊ธ์๋ฅผ ๋ด CJK๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค. ๋ฐ๋๋ก 1๋ฐ์ดํธ๋ง ์ฌ์ฉํ๋ ๋ฌธ์ ํ๊ธฐ ๋ฐฉ์์ SBCS(single-byte character set)๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ผ๋ฐ ASCII ๋ฌธ์์ ๋ฐ๊ฐ ๊ฐํ์นด๋๋ 1๋ฐ์ดํธ๋ก ์ฒ๋ฆฌํ๋ฉฐ, ํ๊ธ์ด๋ ํ์, ํ๋ผ๊ฐ๋, ์ ๊ฐ ๊ฐํ์นด๋์ ๊ฐ์ ์ ๊ฐ ๋ฌธ์๋ค์ 2๋ฐ์ดํธ๋ก ์ฒ๋ฆฌํ๋ค.
์ ๋์ฝ๋๋ฅผ ์ ์ธํ ๋ฌธ์ ์ธ์ฝ๋ฉ์์ ๋ ๊ฐ ์ด์์ ๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์๋ฅผ ํ์ํ๋ ๋ฐฉ์.
๋๋ถ๋ถ 2๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ DBCS(double-byte character set)๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. ์ด๋ก ์์ผ๋ก MBCS๋ 3๋ฐ์ดํธ ์ด์์ ๋ฌธ์๋ ํฌํจํ ์ ์๊ธฐ ๋๋ฌธ์ MBCS๊ฐ ๊ณง DBCS์ธ ๊ฒ์ ์๋์ง๋ง, 2๋ฐ์ดํธ๋ฅผ ์ด๊ณผํ๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ค์ DBCS=MBCS๋ก ๊ตณ์ด์ก๋ค. ๊ทธ ์ธ์๋ ํ๊ตญ์ด, ์ค๊ตญ์ด, ์ผ๋ณธ์ด์์ ์ฃผ๋ก ์ฐ์ด๊ธฐ ๋๋ฌธ์ Chinese, Japanese, Korean์ ์๊ธ์๋ฅผ ๋ด CJK๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค. ๋ฐ๋๋ก 1๋ฐ์ดํธ๋ง ์ฌ์ฉํ๋ ๋ฌธ์ ํ๊ธฐ ๋ฐฉ์์ SBCS(single-byte character set)๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ผ๋ฐ ASCII ๋ฌธ์์ ๋ฐ๊ฐ ๊ฐํ์นด๋๋ 1๋ฐ์ดํธ๋ก ์ฒ๋ฆฌํ๋ฉฐ, ํ๊ธ์ด๋ ํ์, ํ๋ผ๊ฐ๋, ์ ๊ฐ ๊ฐํ์นด๋์ ๊ฐ์ ์ ๊ฐ ๋ฌธ์๋ค์ 2๋ฐ์ดํธ๋ก ์ฒ๋ฆฌํ๋ค.
2. ์์ธ[ํธ์ง]
๋์์์๊ถ์์ ์ฌ์ฉํ๋ ๋ฌธ์๋ ๊ทธ ์๊ฐ ๋งค์ฐ ๋ง๊ธฐ ๋๋ฌธ์ ํ์ฅ ASCII ์์ญ์ 128์๋ง์ผ๋ก๋ ๋ถ์กฑํ๋ค. ์ผ๋ณธ์์๋ 1969๋
์ ์ ๋ JIS X 0201์์ ๋ฐ๊ฐ ๊ฐํ์นด๋๋ฅผ ์ฌ์ฉํด์ ์ผ๋ณธ์ด๋ฅผ ํ๊ธฐํ๊ธฐ๋ ํ์ง๋ง, ๊ฐ๋
์ฑ์ด ๋งค์ฐ ๋๋นด๊ธฐ ๋๋ฌธ์ ์ปดํจํฐ ๊ธฐ์ ์ด ๋ฐ๋ฌํ ๋ค์๋ MBCS๋ฅผ ๋์
ํ๋ค. ํ๊ตญ์ด๋ ์ค๊ตญ์ด ํ๊ฒฝ์์๋ ๋ฐ๊ฐ ๊ฐํ์นด๋ ๊ฐ์ ๊ผผ์๊ฐ ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์ฒ์๋ถํฐ MBCS๋ฅผ ์ฌ์ฉํ๋ค.
ํ์ฅ ASCII ์์ญ์ ๋ฌธ์๋ฅผ ๋ ๊ฐ ํฉ์ณ์ ํ์ํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ด๋ก ์์ผ๋ก๋ 128*128=16384์๋ฅผ ํํํ ์ ์๋ค. ํ์ง๋ง ํธํ์ฑ ๋ฑ์ผ๋ก ์ธํด ๊ฐ ๋ฐ์ดํธ์ 128์๋ฅผ ์ ๋ถ ์ฌ์ฉํ์ง๋ ์๊ธฐ ๋๋ฌธ์ ์ค์ง์ ์ผ๋ก ํํํ ์ ์๋ ๊ธ์๋ ์ด๋ณด๋ค ์ ๋ค. ์ด ๋๋ฌธ์ 1990๋ ๋ ์ดํ ๋ฑ์ฅํ Shift_JIS๋ CP949 ๋ฑ์ ๋์งธ ๋ฐ์ดํธ์ ํ์ค ASCII ์์ญ๋ ์ฌ์ฉํด์ ํ ์คํธ๋ฅผ ํ์ํ๋ค.
MS-DOS ์์ ์๋ MBCS ์ฒ๋ฆฌ๋ฅผ ์ํด ๋ณ๋์ ํ๋ก๊ทธ๋จ์ RAM์ ๋ถ๋ฌ์์ผ ํ๋ค. ์๋ฅผ ๋ค์ด ํ๊ธ MS-DOS๋ HBIOS๋ผ๊ณ ๋ถ๋ฆฌ๋ ํ๋ก๊ทธ๋จ์ ์๋์ผ๋ก ๋ถ๋ฌ์ค๋๋ก ๋์ด ์๋ค. ๋ฌธ์ ๋ ๋จ์์ฃผ ํ๋ก๊ทธ๋จ์ด๋ค ๋ณด๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ ๋ง์ด ์ก์๋จน๊ณ , ์ผ๋ถ ๋น๋์ค ์นด๋์ ์ถฉ๋์ ์ผ์ผํค๊ธฐ๋ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฌธ ํ๋ก๊ทธ๋จ๊ณผ ์ถฉ๋์ ์ผ์ผํค๋ ๊ฒฝ์ฐ๋ ๋ง์๊ธฐ ๋๋ฌธ์ ์ด๋ด ๋์๋ ๋ณ๋์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ ์ธ๋ก๋ํด์ค์ผ ํ๋ค.
ํ์ฅ ASCII ์์ญ์ ๋ฌธ์๋ฅผ ๋ ๊ฐ ํฉ์ณ์ ํ์ํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ด๋ก ์์ผ๋ก๋ 128*128=16384์๋ฅผ ํํํ ์ ์๋ค. ํ์ง๋ง ํธํ์ฑ ๋ฑ์ผ๋ก ์ธํด ๊ฐ ๋ฐ์ดํธ์ 128์๋ฅผ ์ ๋ถ ์ฌ์ฉํ์ง๋ ์๊ธฐ ๋๋ฌธ์ ์ค์ง์ ์ผ๋ก ํํํ ์ ์๋ ๊ธ์๋ ์ด๋ณด๋ค ์ ๋ค. ์ด ๋๋ฌธ์ 1990๋ ๋ ์ดํ ๋ฑ์ฅํ Shift_JIS๋ CP949 ๋ฑ์ ๋์งธ ๋ฐ์ดํธ์ ํ์ค ASCII ์์ญ๋ ์ฌ์ฉํด์ ํ ์คํธ๋ฅผ ํ์ํ๋ค.
MS-DOS ์์ ์๋ MBCS ์ฒ๋ฆฌ๋ฅผ ์ํด ๋ณ๋์ ํ๋ก๊ทธ๋จ์ RAM์ ๋ถ๋ฌ์์ผ ํ๋ค. ์๋ฅผ ๋ค์ด ํ๊ธ MS-DOS๋ HBIOS๋ผ๊ณ ๋ถ๋ฆฌ๋ ํ๋ก๊ทธ๋จ์ ์๋์ผ๋ก ๋ถ๋ฌ์ค๋๋ก ๋์ด ์๋ค. ๋ฌธ์ ๋ ๋จ์์ฃผ ํ๋ก๊ทธ๋จ์ด๋ค ๋ณด๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ ๋ง์ด ์ก์๋จน๊ณ , ์ผ๋ถ ๋น๋์ค ์นด๋์ ์ถฉ๋์ ์ผ์ผํค๊ธฐ๋ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฌธ ํ๋ก๊ทธ๋จ๊ณผ ์ถฉ๋์ ์ผ์ผํค๋ ๊ฒฝ์ฐ๋ ๋ง์๊ธฐ ๋๋ฌธ์ ์ด๋ด ๋์๋ ๋ณ๋์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ ์ธ๋ก๋ํด์ค์ผ ํ๋ค.
3. ํธํ์ฑ ๋ฌธ์ [ํธ์ง]
๊ตญ๊ฐ๊ฐ์ ํธํ์ด ๋์ง ์๋ ๋ฐฉ์์ด๊ธฐ์ ๋ค๋ฅธ ์์คํ
์ผ๋ก ๋ณด๋ด๋ฉด ๊ธ์๊ฐ ์์๋ณผ ์ ์๊ฒ ๊นจ์ง๋ค. ์ผ๋ณธ์ด ํ
์คํธ ํ์ผ์ ํ๊ธ ์๋์ฐ์์ ์ด์์ ๋ ์์ ๋งํ๋ ๋ท์ด๋ก ๊นจ์ง๋ ๊ฒ์ด ๋ํ์ ์ธ ์์. ์ด์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ฌธ์ ๊นจ์ง ๋ฌธ์ ์ฐธ๊ณ .
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋์จ ๊ฒ์ด ์ ๋์ฝ๋.[1] ์ธ๊ณ์ ๊ฑฐ์ ๋ชจ๋ ๋ฌธ์๋ฅผ ํํํ ์ ์๊ธฐ ๋๋ฌธ์ ์ต๊ทผ 2010๋ ๋์ ๋ค์ด์ ๋ง์ด ์ฌ์ฉ๋๊ณ ์๋ค. ๊ทธ ์ค์์๋ ํนํ UTF-8[2]์ด ๋๋ฆฌ ์ฐ์ธ๋ค.
๋ฌธ์ ๋ Microsoft Windows์ ๊ฒฝ์ฐ ์ ๋์ฝ๋๋ฅผ ์ง์ํ์ง ์์๋ Windows 9x์์ ํ์ ํธํ์ฑ ๋๋ฌธ์ ์ฌ์ ํ MBCS๋ฅผ ๊ธฐ๋ณธ ์ธ์ฝ๋ฉ์ผ๋ก ์ฌ์ฉํ๋ค๋ ๊ฒ์ด๋ค. ์๋์ฐ๋ NT ์ปค๋์ ๊ฐ๋ฐํ์ ๋๋ถํฐ, ์ด๋ฏธ ์ ๊ตฌ์ ์ผ๋ก 2๋ฐ์ดํธ ์ ๋์ฝ๋์ธ UCS-2๋ฅผ ์ ์ฉํ๊ณ (ํ์ฌ๋ UTF-16 LE) ์ปค๋ ๋ด๋ถ์์ ์ฌ์ฉํ๊ณ ์์ง๋ง, ํ ์คํธ ํ์ผ์ ์์ฑํ๊ฑฐ๋ ์๋ ํ๋ก๊ทธ๋จ์ ์คํํ๊ฑฐ๋ ZIP ํ์ผ์ ์ด๊ฑฐ๋ ํ ๋ MBCS๋ฅผ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ์ด ๋ง์ ๊ตญ๊ฐ ๊ฐ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ์๋ค. UTF-8์ด๋ UTF-16์ BOM ๋ฌธ์๊ฐ ์์ผ๋ฉด ๋ฌด์กฐ๊ฑด MBCS๋ก ์ฝ์ด๋ค์ด๋ ํ๋ก๊ทธ๋จ๋ค์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ Windows์ฉ ํ๋ก๊ทธ๋จ๋ค์ UTF-8๋ก ์ ์ฅ ์ BOM์ ๋ถ์ด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ, ์ด๋ BOM ์๋ UTF-8์ ์ฌ์ฉํ๋ ํ ์ด์์ฒด์ ์์ ์ธ์ฝ๋ฉ ์ค๋ฅ๋ฅผ ์ผ์ผํค๊ฒ ๋๋ค.
๋ฐ๋๋ก UTF-8์ ๊ธฐ๋ณธ ์ธ์ฝ๋ฉ์ผ๋ก ๋์ ํ macOS๋ ๋ฆฌ๋ ์ค ๋ฑ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ ์คํธ ํ์ผ์ ๋จ์ผ ์ธ์ฝ๋ฉ์ผ๋ก ์ฝ์ด๋ค์ด๊ธฐ ๋๋ฌธ์[3] MBCS ํํ๋ก ์์ฑ๋ ํ ์คํธ ํ์ผ์ ์ ๋ถ ๏ฟฝ๋ก ๋ณด์ด๋ฉฐ, BOM ๋ฌธ์๊ฐ ์๋ UTF-8 ๋ฌธ์๋ฅผ ์ ๋๋ก ํด์ํ์ง ๋ชปํ๋ค.[4] ์ด๋ ๋ฏ ๊ตญ๊ฐ๊ฐ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ์กด์ฌํ๋๋ฐ๋ค๊ฐ SBCS ์ฒด๊ณ์์๋ MBCS ์ธ์ฝ๋ฉ์ ์์ธ์ฒ๋ฆฌํ๊ธฐ๊ฐ ๋ณต์กํด์ง๊ธฐ ๋๋ฌธ์ ์๊ตฌ๊ถ ํ๋ก๊ทธ๋๋จธ๋ค์ MBCS๋ฅผ ์ซ์ดํ๋ค.
์ค๋งํธํฐ(=๋น MS์๋์ฐ ์ปดํจํฐ)์ด ๋๋ฆฌ ๋ณด๊ธ๋๊ณ ๊ตญ๊ฐ๊ฐ์ ๊ต๋ฅ๊ฐ ์ ์ฐจ ์ปค์ง๊ณ ์๋ ์ํฉ์ด๊ธฐ์ ์ ๋์ฝ๋์ ์ฌ์ฉ์ด ๋๊ณ ์๋ค. Windows 10 RS4 ๋น๋์์ ์์คํ ๋ก์บ์ ์ค์ ํ๋ ๋ถ๋ถ์ ๋ณด๋ฉด 'Beta: ์ธ๊ณ ์ธ์ด ์ง์์ ์ํด Unicode UTF-8 ์ฌ์ฉ'์ด๋ผ๋ ํญ๋ชฉ์ด ์๊ธด ๊ฒ์ ์ ์ ์๋๋ฐ, ์ด๊ฒ์ ๋งฅ์ด๋ ๋ฆฌ๋ ์ค์ฒ๋ผ ์์คํ ๋ก์บ์ UTF-8๋ก ์์ ๋ฐ๊ฟ๋ฒ๋ฆฌ๋ ๊ฒ์ด๋ค.[5] ๋ค๋ง, MBCS์ ์ ๋์ฝ๋๋ฅผ ์์ด์ ์ฌ์ฉํ๋ ๋ช๋ช ๊ตฌ ํ๋ก๊ทธ๋จ์์ ๏ฟฝ๋ฅผ ๋ฐํํ๋ ๋ฑ์ ๋ฌธ์์ด ์ค๋ฅ๋ฅผ ์ผ์ผํจ๋ค. ์์ง๊น์ง๋ ํ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ๋จ์์๋๋ฐ๋ค๊ฐ ๋ฒ ํ ๊ธฐ๋ฅ์ด๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ ์ ์ฉ์ ๋์ด ์์ง ์์ง๋ง, ์ฐจํ MBCS๊ฐ ์ฌ์ฅ๋๋ฉด ์๋์ฐ ์ญ์ ์ ๋์ฝ๋๋ฅผ ์ ๋ฉด ์ ์ฉํ ๊ฐ๋ฅ์ฑ์ด ์๊ฒผ๋ค๊ณ ํ ์ ์๋ค.
Windows 10 19H1 ๋น๋๋ถํฐ๋ ๋ฉ๋ชจ์ฅ์์ BOM ์๋ UTF-8์ ๊ธฐ๋ณธ ์ธ์ฝ๋ฉ์ผ๋ก ์ฌ์ฉํ๋๋ก ๋ฐ๋์๋ค. ์ด์ ๊น์ง๋ UTF-8 ์ ์ฅ ์ ๋ฌด์กฐ๊ฑด BOM์ ๋ถ์๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋์จ ๊ฒ์ด ์ ๋์ฝ๋.[1] ์ธ๊ณ์ ๊ฑฐ์ ๋ชจ๋ ๋ฌธ์๋ฅผ ํํํ ์ ์๊ธฐ ๋๋ฌธ์ ์ต๊ทผ 2010๋ ๋์ ๋ค์ด์ ๋ง์ด ์ฌ์ฉ๋๊ณ ์๋ค. ๊ทธ ์ค์์๋ ํนํ UTF-8[2]์ด ๋๋ฆฌ ์ฐ์ธ๋ค.
๋ฌธ์ ๋ Microsoft Windows์ ๊ฒฝ์ฐ ์ ๋์ฝ๋๋ฅผ ์ง์ํ์ง ์์๋ Windows 9x์์ ํ์ ํธํ์ฑ ๋๋ฌธ์ ์ฌ์ ํ MBCS๋ฅผ ๊ธฐ๋ณธ ์ธ์ฝ๋ฉ์ผ๋ก ์ฌ์ฉํ๋ค๋ ๊ฒ์ด๋ค. ์๋์ฐ๋ NT ์ปค๋์ ๊ฐ๋ฐํ์ ๋๋ถํฐ, ์ด๋ฏธ ์ ๊ตฌ์ ์ผ๋ก 2๋ฐ์ดํธ ์ ๋์ฝ๋์ธ UCS-2๋ฅผ ์ ์ฉํ๊ณ (ํ์ฌ๋ UTF-16 LE) ์ปค๋ ๋ด๋ถ์์ ์ฌ์ฉํ๊ณ ์์ง๋ง, ํ ์คํธ ํ์ผ์ ์์ฑํ๊ฑฐ๋ ์๋ ํ๋ก๊ทธ๋จ์ ์คํํ๊ฑฐ๋ ZIP ํ์ผ์ ์ด๊ฑฐ๋ ํ ๋ MBCS๋ฅผ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ์ด ๋ง์ ๊ตญ๊ฐ ๊ฐ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ์๋ค. UTF-8์ด๋ UTF-16์ BOM ๋ฌธ์๊ฐ ์์ผ๋ฉด ๋ฌด์กฐ๊ฑด MBCS๋ก ์ฝ์ด๋ค์ด๋ ํ๋ก๊ทธ๋จ๋ค์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ Windows์ฉ ํ๋ก๊ทธ๋จ๋ค์ UTF-8๋ก ์ ์ฅ ์ BOM์ ๋ถ์ด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ, ์ด๋ BOM ์๋ UTF-8์ ์ฌ์ฉํ๋ ํ ์ด์์ฒด์ ์์ ์ธ์ฝ๋ฉ ์ค๋ฅ๋ฅผ ์ผ์ผํค๊ฒ ๋๋ค.
๋ฐ๋๋ก UTF-8์ ๊ธฐ๋ณธ ์ธ์ฝ๋ฉ์ผ๋ก ๋์ ํ macOS๋ ๋ฆฌ๋ ์ค ๋ฑ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ ์คํธ ํ์ผ์ ๋จ์ผ ์ธ์ฝ๋ฉ์ผ๋ก ์ฝ์ด๋ค์ด๊ธฐ ๋๋ฌธ์[3] MBCS ํํ๋ก ์์ฑ๋ ํ ์คํธ ํ์ผ์ ์ ๋ถ ๏ฟฝ๋ก ๋ณด์ด๋ฉฐ, BOM ๋ฌธ์๊ฐ ์๋ UTF-8 ๋ฌธ์๋ฅผ ์ ๋๋ก ํด์ํ์ง ๋ชปํ๋ค.[4] ์ด๋ ๋ฏ ๊ตญ๊ฐ๊ฐ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ์กด์ฌํ๋๋ฐ๋ค๊ฐ SBCS ์ฒด๊ณ์์๋ MBCS ์ธ์ฝ๋ฉ์ ์์ธ์ฒ๋ฆฌํ๊ธฐ๊ฐ ๋ณต์กํด์ง๊ธฐ ๋๋ฌธ์ ์๊ตฌ๊ถ ํ๋ก๊ทธ๋๋จธ๋ค์ MBCS๋ฅผ ์ซ์ดํ๋ค.
์ค๋งํธํฐ(=๋น MS์๋์ฐ ์ปดํจํฐ)์ด ๋๋ฆฌ ๋ณด๊ธ๋๊ณ ๊ตญ๊ฐ๊ฐ์ ๊ต๋ฅ๊ฐ ์ ์ฐจ ์ปค์ง๊ณ ์๋ ์ํฉ์ด๊ธฐ์ ์ ๋์ฝ๋์ ์ฌ์ฉ์ด ๋๊ณ ์๋ค. Windows 10 RS4 ๋น๋์์ ์์คํ ๋ก์บ์ ์ค์ ํ๋ ๋ถ๋ถ์ ๋ณด๋ฉด 'Beta: ์ธ๊ณ ์ธ์ด ์ง์์ ์ํด Unicode UTF-8 ์ฌ์ฉ'์ด๋ผ๋ ํญ๋ชฉ์ด ์๊ธด ๊ฒ์ ์ ์ ์๋๋ฐ, ์ด๊ฒ์ ๋งฅ์ด๋ ๋ฆฌ๋ ์ค์ฒ๋ผ ์์คํ ๋ก์บ์ UTF-8๋ก ์์ ๋ฐ๊ฟ๋ฒ๋ฆฌ๋ ๊ฒ์ด๋ค.[5] ๋ค๋ง, MBCS์ ์ ๋์ฝ๋๋ฅผ ์์ด์ ์ฌ์ฉํ๋ ๋ช๋ช ๊ตฌ ํ๋ก๊ทธ๋จ์์ ๏ฟฝ๋ฅผ ๋ฐํํ๋ ๋ฑ์ ๋ฌธ์์ด ์ค๋ฅ๋ฅผ ์ผ์ผํจ๋ค. ์์ง๊น์ง๋ ํ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ๋จ์์๋๋ฐ๋ค๊ฐ ๋ฒ ํ ๊ธฐ๋ฅ์ด๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ ์ ์ฉ์ ๋์ด ์์ง ์์ง๋ง, ์ฐจํ MBCS๊ฐ ์ฌ์ฅ๋๋ฉด ์๋์ฐ ์ญ์ ์ ๋์ฝ๋๋ฅผ ์ ๋ฉด ์ ์ฉํ ๊ฐ๋ฅ์ฑ์ด ์๊ฒผ๋ค๊ณ ํ ์ ์๋ค.
Windows 10 19H1 ๋น๋๋ถํฐ๋ ๋ฉ๋ชจ์ฅ์์ BOM ์๋ UTF-8์ ๊ธฐ๋ณธ ์ธ์ฝ๋ฉ์ผ๋ก ์ฌ์ฉํ๋๋ก ๋ฐ๋์๋ค. ์ด์ ๊น์ง๋ UTF-8 ์ ์ฅ ์ ๋ฌด์กฐ๊ฑด BOM์ ๋ถ์๋ค.
4. ๋ชฉ๋ก[ํธ์ง]
[1] ์ ๋์ฝ๋์ ์ฒซ ๋ฒ์ ์ ์ด๋ฏธ 1990๋
๋ ์ด์ ๋ฑ์ฅํ์ง๋ง, ์ด๋ฅผ ์ฌ์ฉํ๋ ์ํํธ์จ์ด๊ฐ ๋ง์ง ์์๋ค.
[2] ASCII์ ํธํ๋๊ณ , ์์ด(์์ค์ฝ๋ ๋ฑ)์์ฑ์ ์ฉ๋ ํจ์จ์ด ์ข์ผ๋ฉฐ, 2๋ฐ์ดํธ ์ค ์์์๋ถํฐ ์ฝ์์ง ๋ค์์๋ถํฐ ์ฝ์์ง ๊ณ ๋ฏผํ๋ "๋ฆฌํ์๋์ธ ๋น
์๋์ธ" ๋ฌธ์ ๊ฐ ์๋ค. ๋จ์ ์ ๋น ์ํ๋ฒณ ์ธ์ด ์ฉ๋์ ์ฆ๊ฐ
[3] ๋จ, iconv์ ๊ฐ์ ๋ช
๋ น์ด๋ฅผ ํตํด MBCS๋ฅผ UTF-8๋ก ๋ณํํ์ฌ ์
์ถ๋ ฅํ ์๋ ์๋ค. ์๋์ฐ์ฒ๋ผ MBCS๋ฅผ ๋ค์ดํฐ๋ธ์ ๊ฐ๊น๊ฒ ์ง์ํ์ง ์์ ๋ฟ.
[4] UTF-8 ๋ฌธ์์ ์์ ๋ ๋ฐ์ ๊ฐ์ด BOM์ ๋ถ์ด๋ ๊ฒ์ ์ ๋์ฝ๋ ์ปจ์์์์์ ๊ถ์ฅํ์ง ์๋ ๋ฐฉ๋ฒ์ด์ง๋ง, ์ธ์ฝ๋ฉ์ ๊ตฌ๋ณํ๊ธฐ ์ํด์ ์ฌ์ ํ ์ฌ์ฉ๋๊ณ ์๋ค.
[5] ์ด ๊ฒฝ์ฐ, ๋น์ ๋์ฝ๋ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก ๊ฐ๋ฐ๋ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉํ๋ ์ธ์ฝ๋ฉ์ UTF-8์ด ๋๋ค.
[6] ๋ง์ดํฌ๋ก์ํํธ์์ ์ ์ํ GB2312์ ํ์ฅํ. GB2312์์ ์ฌ์ฉ๋์ง ์์ ๋๋จธ์ง ์์ญ์ ์ ๋์ฝ๋ 1.1์ ๋ฐฐ๋น๋ ํ์ค์ผ ํตํฉ ํ์๋ฅผ ์ง์ด๋ฃ์๋ค. ์ดํ ์ ๋ก ๊ธฐํธ๊ฐ ์ถ๊ฐ๋๋ ๋ฑ์ ๋ณํ๊ฐ ๋ช๋ฒ ์์๋ค.
[7] GBK๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ตญ ์ ๋ถ์์ ์ถ๊ฐ์ ์ผ๋ก ํ์ฅํ ์ธ์ฝ๋ฉ ์ฒด๊ณ. ์ ๋์ฝ๋๋ฅผ ์ง์ํ์ง ์๋ ๊ธฐ๊ธฐ์์ ์ ๋์ฝ๋๋ฅผ ์ง์ํ๊ธฐ ์ํด ๋ง๋ค์ด์ก์ผ๋ฉฐ, ์ด ๊ฒฝ์ฐ ๊ธ์๋น 4๋ฐ์ดํธ๋ฅผ ์ฐจ์งํ๋ค.
[8] ์ ๋์ฝ๋ ๋ณด๊ธ ์ด์ ์ Unix ๊ณ์ด ์๋ฒ์์ ์ฃผ๋ก ์ฐ์ด๋ ์ธ์ฝ๋ฉ. Shift_JIS์ 0x5C ๋ฌธ์ ๊ฐ์ ๊ฒ์ด ์์ด์ ์ด์ชฝ์ ์ ํธํ๋ ์ฌ๋๋ค๋ ์๋ค.