๋˜ ๋‹ค๋ฅธ ์ž์ „๊ฑฐ: UTF-30๋ณด๋‹ค 60-8% ๋” ์ปดํŒฉํŠธํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์ž์ „๊ฑฐ: UTF-30๋ณด๋‹ค 60-8% ๋” ์ปดํŒฉํŠธํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ๊ฐœ๋ฐœ์ž์ด๊ณ  ์ธ์ฝ”๋”ฉ์„ ์„ ํƒํ•ด์•ผ ํ•˜๋Š” ๊ณผ์ œ์— ์ง๋ฉดํ–ˆ๋‹ค๋ฉด ์œ ๋‹ˆ์ฝ”๋“œ๊ฐ€ ๊ฑฐ์˜ ํ•ญ์ƒ ์˜ฌ๋ฐ”๋ฅธ ์†”๋ฃจ์…˜์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์ธ ํ‘œํ˜„ ๋ฐฉ๋ฒ•์€ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ค๋ฅด์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์—ฌ๊ธฐ์—๋„ ๋ณดํŽธ์ ์ธ ๋Œ€๋‹ต์ธ UTF-8์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€ ์ ์€ ๋น„์šฉ์„ ๋“ค์ด์ง€ ์•Š๊ณ ๋„ ๋ชจ๋“  ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ๋งŽ์ด ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๋งŽ์€ ๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค. ์‚ฌ์‹ค, ๋ผํ‹ด ์•ŒํŒŒ๋ฒณ ์ด์ƒ์„ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด์˜ ๊ฒฝ์šฐ "๋„ˆ๋ฌด ๋งŽ์ง€ ์•Š์Œ"์€ ์ตœ์†Œํ•œ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ž๋‹น XNUMX๋ฐ”์ดํŠธ. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž๋ฅผ 256์ž๋กœ ์ œํ•œํ•˜๋Š” ์„ ์‚ฌ ์‹œ๋Œ€ ์ธ์ฝ”๋”ฉ์œผ๋กœ ๋Œ์•„๊ฐ€์ง€ ์•Š๊ณ ๋„ ๋” ์ž˜ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

์•„๋ž˜์—์„œ๋Š” ์ด ์งˆ๋ฌธ์— ๋‹ตํ•˜๋ ค๋Š” ์‹œ๋„์— ์ต์ˆ™ํ•ด์ง€๊ณ  UTF-8์— ์žˆ๋Š” ์ค‘๋ณต์„ฑ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ ๋„ ์ „ ์„ธ๊ณ„ ๋Œ€๋ถ€๋ถ„์˜ ์–ธ์–ด๋กœ ์ค„์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋น„๊ต์  ๊ฐ„๋‹จํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•  ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

๋ถ€์ธ ์„ฑ๋ช…. ์ฆ‰์‹œ ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์˜ˆ์•ฝ์„ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์„ค๋ช…๋œ ์†”๋ฃจ์…˜์€ UTF-8์˜ ๋ณดํŽธ์ ์ธ ๋Œ€์ฒดํ’ˆ์œผ๋กœ ์ œ๊ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค., ์ด๋Š” ์ œํ•œ๋œ ์‚ฌ๋ก€ ๋ชฉ๋ก์—๋งŒ ์ ํ•ฉํ•˜๋ฉฐ(์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฐธ์กฐ) ์–ด๋–ค ๊ฒฝ์šฐ์—๋„ ํƒ€์‚ฌ API(์ด์— ๋Œ€ํ•ด ์•Œ์ง€๋„ ๋ชปํ•˜๋Š”)์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๋ฒ”์šฉ ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜(์˜ˆ: deflate)์€ ๋Œ€์šฉ๋Ÿ‰ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ปดํŒฉํŠธํ•˜๊ฒŒ ์ €์žฅํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด๋ฏธ ์†”๋ฃจ์…˜์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ์ž์ฒด์˜ ๊ธฐ์กด ํ‘œ์ค€์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์†Œ ๋” ๋ณต์žกํ•˜๊ณ  (์ข…์ข… ๋” ๋‚˜์ฉ๋‹ˆ๋‹ค) ์—ฌ์ „ํžˆ ํ—ˆ์šฉ๋˜๋Š” ํ‘œ์ค€์ด๋ฉฐ ๋‹จ์ˆœํžˆ ๋„ฃ์–ด ๋‘๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ฌด๋ฆŽ์— ํ•จ๊ป˜. ๊ทธ์— ๋Œ€ํ•ด์„œ๋„ ๋ง์”€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์œ ๋‹ˆ์ฝ”๋“œ ๋ฐ UTF-8 ์ •๋ณด

์šฐ์„ , ๊ทธ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•œ ๋ช‡ ๋งˆ๋”” ์œ ๋‹ˆ ์ฝ”๋“œ ะธ UTF-8.

์•„์‹œ๋‹ค์‹œํ”ผ, 8๋น„ํŠธ ์ธ์ฝ”๋”ฉ์ด ๋„๋ฆฌ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ„๋‹จํ•ด์กŒ์Šต๋‹ˆ๋‹ค. 256๊ฐœ์˜ ๋ฌธ์ž์— 0๋ถ€ํ„ฐ 255๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ณ , 0๋ถ€ํ„ฐ 255๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ 7๋ฐ”์ดํŠธ๋กœ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งจ ์ฒ˜์Œ์œผ๋กœ ๋Œ์•„๊ฐ€๋ฉด ASCII ์ธ์ฝ”๋”ฉ์€ ์™„์ „ํžˆ 8๋น„ํŠธ๋กœ ์ œํ•œ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ๋ฐ”์ดํŠธ ํ‘œํ˜„์˜ ์ตœ์ƒ์œ„ ๋น„ํŠธ๋Š” XNUMX์ด๊ณ  ๋Œ€๋ถ€๋ถ„์˜ XNUMX๋น„ํŠธ ์ธ์ฝ”๋”ฉ์€ ์ด์™€ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค("์ƒ์œ„"๋งŒ ๋‹ค๋ฆ…๋‹ˆ๋‹ค). ๋ถ€๋ถ„, ์—ฌ๊ธฐ์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋น„ํŠธ๋Š” XNUMX์ž…๋‹ˆ๋‹ค).

์œ ๋‹ˆ์ฝ”๋“œ๋Š” ์ด๋Ÿฌํ•œ ์ธ์ฝ”๋”ฉ๊ณผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅด๋ฉฐ ์™œ UTF-8, UTF-16(BE ๋ฐ LE), UTF-32์™€ ๊ฐ™์€ ํŠน์ • ํ‘œํ˜„์ด ๊ทธ๋ ‡๊ฒŒ ๋งŽ์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ˆœ์„œ๋Œ€๋กœ ์ •๋ฆฌํ•ด๋ณด์ž.

๊ธฐ๋ณธ ์œ ๋‹ˆ์ฝ”๋“œ ํ‘œ์ค€์€ ๋ฌธ์ž(๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋ฌธ์ž์˜ ๊ฐœ๋ณ„ ๊ตฌ์„ฑ ์š”์†Œ)์™€ ์ˆซ์ž ๊ฐ„์˜ ๋Œ€์‘ ๊ด€๊ณ„๋งŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ํ‘œ์ค€์—๋Š” ๊ฐ€๋Šฅํ•œ ๋งŽ์€ ์ˆซ์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 0x00 ์— 0x10FFFF (1๊ฐœ). ๊ทธ๋Ÿฌํ•œ ๋ฒ”์œ„์˜ ์ˆซ์ž๋ฅผ ๋ณ€์ˆ˜์— ๋„ฃ์œผ๋ ค๋ฉด 114๋ฐ”์ดํŠธ๋„ 112๋ฐ”์ดํŠธ๋„ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ ํ”„๋กœ์„ธ์„œ๋Š” 1๋ฐ”์ดํŠธ ์ˆซ์ž ์ž‘์—…์šฉ์œผ๋กœ ์„ค๊ณ„๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ž๋‹น ์ตœ๋Œ€ 2๋ฐ”์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค! ์ด๊ฒƒ์€ UTF-4์ด์ง€๋งŒ ์ด ํ˜•์‹์ด ์ธ๊ธฐ๊ฐ€ ์—†๋Š” ๊ฒƒ์€ ๋ฐ”๋กœ ์ด๋Ÿฌํ•œ "๋‚ญ๋น„" ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋‹คํ–‰ํžˆ๋„ ์œ ๋‹ˆ์ฝ”๋“œ ๋‚ด์˜ ๋ฌธ์ž ์ˆœ์„œ๋Š” ๋ฌด์ž‘์œ„๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ „์ฒด ์„ธํŠธ๋Š” 17 "๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.๋น„ํ–‰๊ธฐ", ๊ฐ๊ฐ 65536(0x10000)ยซ์ฝ”๋“œ ํฌ์ธํŠธ" ์—ฌ๊ธฐ์„œ "์ฝ”๋“œ ํฌ์ธํŠธ"์˜ ๊ฐœ๋…์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž๋ฒˆํ˜ธ, ์œ ๋‹ˆ์ฝ”๋“œ๋กœ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์œ ๋‹ˆ์ฝ”๋“œ์—์„œ๋Š” ๊ฐœ๋ณ„ ๋ฌธ์ž๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ•ด๋‹น ๊ตฌ์„ฑ ์š”์†Œ ๋ฐ ์„œ๋น„์Šค ํ‘œ์‹œ๋„ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค(๋•Œ๋กœ๋Š” ๋ฒˆํ˜ธ์™€ ์ผ์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ „ํ˜€ ์—†์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น๋ถ„๊ฐ„์€ ๊ทธ๋Ÿด ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์šฐ๋ฆฌ์—๊ฒŒ๋Š” ๊ทธ๋‹ค์ง€ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค). ๋” ์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค. ํ•ญ์ƒ ๊ธฐํ˜ธ๊ฐ€ ์•„๋‹Œ ์ˆซ์ž ์ž์ฒด์˜ ์ˆ˜์— ๋Œ€ํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ์ด์•ผ๊ธฐํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋Ÿฌ๋‚˜ ์ดํ•˜์—์„œ๋Š” ๊ฐ„๊ฒฐํ•จ์„ ์œ„ํ•ด "์ฝ”๋“œ ํฌ์ธํŠธ"๋ผ๋Š” ์šฉ์–ด๋ฅผ ์•”์‹œํ•˜๋Š” "๊ธฐํ˜ธ"๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์ž์ „๊ฑฐ: UTF-30๋ณด๋‹ค 60-8% ๋” ์ปดํŒฉํŠธํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
์œ ๋‹ˆ์ฝ”๋“œ ๋น„ํ–‰๊ธฐ. ๋ณด์‹œ๋‹ค์‹œํ”ผ ๋Œ€๋ถ€๋ถ„(ํ‰๋ฉด 4~13)์€ ์•„์ง ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์ฃผ๋ชฉํ• ๋งŒํ•œ ์ ์€ ๋ชจ๋“  ์ฃผ์š” "ํŽ„ํ”„"๊ฐ€ ์ œ๋กœ ํ‰๋ฉด์— ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.๊ธฐ๋ณธ ๋‹ค๊ตญ์–ด ๋น„ํ–‰๊ธฐ". ํ•œ ์ค„์— ํ˜„๋Œ€ ์–ธ์–ด(์ค‘๊ตญ์–ด ํฌํ•จ) ์ค‘ ํ•˜๋‚˜๋กœ ๋œ ํ…์ŠคํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ์ด ํ‰๋ฉด์„ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋จธ์ง€ ์œ ๋‹ˆ์ฝ”๋“œ๋„ ์ž˜๋ผ๋‚ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด๋ชจํ‹ฐ์ฝ˜์€ ์ฃผ๋กœ ๋ ๋ถ€๋ถ„์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋น„ํ–‰๊ธฐ"๋ณด์ถฉ ๋‹ค๊ตญ์–ด ๋น„ํ–‰๊ธฐ"(๋‹ค์Œ๋ถ€ํ„ฐ ์—ฐ์žฅ๋ฉ๋‹ˆ๋‹ค. 0x10000 ์— 0x1FFFF). ๋”ฐ๋ผ์„œ UTF-16์€ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋‹ค๊ตญ์–ด ๋น„ํ–‰๊ธฐ, ํ•ด๋‹น XNUMX๋ฐ”์ดํŠธ ์ˆซ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ "์žˆ๋Š” ๊ทธ๋Œ€๋กœ" ์ธ์ฝ”๋”ฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฒ”์œ„์˜ ์ˆซ์ž ์ค‘ ์ผ๋ถ€๋Š” ํŠน์ • ๋ฌธ์ž๋ฅผ ์ „ํ˜€ ๋‚˜ํƒ€๋‚ด์ง€ ์•Š์ง€๋งŒ ์ด ๋ฐ”์ดํŠธ ์Œ ์ดํ›„์— ๋‹ค๋ฅธ ๋ฐ”์ดํŠธ ์Œ์„ ๊ณ ๋ คํ•ด์•ผ ํ•จ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด XNUMX๋ฐ”์ดํŠธ์˜ ๊ฐ’์„ ํ•จ๊ป˜ ๊ฒฐํ•ฉํ•˜์—ฌ ๋‹ค์Œ์„ ํฌํ•จํ•˜๋Š” ์ˆซ์ž๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค. ์œ ํšจํ•œ ์ „์ฒด ์œ ๋‹ˆ์ฝ”๋“œ ๋ฒ”์œ„. ์ด ์•„์ด๋””์–ด๋ฅผ "๋Œ€๋ฆฌ ์ปคํ”Œ"์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋„ ๋“ค์–ด๋ณด์…จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ UTF-16์—๋Š” "์ฝ”๋“œ ํฌ์ธํŠธ"๋‹น 8๋ฐ”์ดํŠธ ๋˜๋Š” (๋งค์šฐ ๋“œ๋ฌธ ๊ฒฝ์šฐ) XNUMX๋ฐ”์ดํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ•ญ์ƒ XNUMX๋ฐ”์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋‚ซ์ง€๋งŒ ์ด ๋ฐฉ์‹์œผ๋กœ ์ธ์ฝ”๋”ฉํ•˜๋ฉด ๋ผํ‹ด์–ด(๋ฐ ๊ธฐํƒ€ ASCII ๋ฌธ์ž)๊ฐ€ XNUMX์— ๊ณต๊ฐ„์˜ ์ ˆ๋ฐ˜์„ ๋‚ญ๋น„ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. UTF-XNUMX์€ ์ด๋ฅผ ์ˆ˜์ •ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. UTF-XNUMX์˜ ASCII๋Š” ์ด์ „๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ XNUMX๋ฐ”์ดํŠธ๋งŒ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ 0x80 ์— 0x7FF - XNUMX๋ฐ”์ดํŠธ; ~์—์„œ 0x800 ์— 0xFFFF - ์„ธ ๊ฐœ, ๊ทธ๋ฆฌ๊ณ  0x10000 ์— 0x10FFFF - 1๊ฐœ. ํ•œํŽธ์œผ๋กœ๋Š” ๋ผํ‹ด ์•ŒํŒŒ๋ฒณ์ด ์ข‹์•„์กŒ์Šต๋‹ˆ๋‹ค. ASCII์™€์˜ ํ˜ธํ™˜์„ฑ์ด ๋‹ค์‹œ ๋Œ์•„์™”๊ณ  ๋ถ„ํฌ๊ฐ€ 4๋ฐ”์ดํŠธ์—์„œ 16๋ฐ”์ดํŠธ๊นŒ์ง€ ๋”์šฑ ๊ณ ๋ฅด๊ฒŒ "ํ™•์‚ฐ"๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ผํ‹ด์–ด ์ด์™ธ์˜ ์•ŒํŒŒ๋ฒณ์€ UTF-32์— ๋น„ํ•ด ์–ด๋–ค ์ด์ ๋„ ์–ป์ง€ ๋ชปํ•˜๋ฉฐ ์ด์ œ ๋งŽ์€ ์•ŒํŒŒ๋ฒณ์ด XNUMX๋ฐ”์ดํŠธ๊ฐ€ ์•„๋‹Œ XNUMX๋ฐ”์ดํŠธ๋ฅผ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. XNUMX๋ฐ”์ดํŠธ ๋ ˆ์ฝ”๋“œ๊ฐ€ ํฌํ•จํ•˜๋Š” ๋ฒ”์œ„๋Š” XNUMX๋ฐฐ๋กœ ์ข์•„์กŒ์Šต๋‹ˆ๋‹ค. 0xFFFF ์— 0x7FF, ์ค‘๊ตญ์–ด๋‚˜ ์˜ˆ๋ฅผ ๋“ค์–ด ์กฐ์ง€์•„์–ด๋Š” ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ‚ค๋ฆด ๋ฌธ์ž ๋ฐ ๊ธฐํƒ€ 2๊ฐœ ์•ŒํŒŒ๋ฒณ - ๋งŒ์„ธ - ํ–‰์šด, ๋ฌธ์ž๋‹น XNUMX๋ฐ”์ดํŠธ.

์™œ ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๊นŒ? UTF-8์ด ๋ฌธ์ž ์ฝ”๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ๋‚˜ํƒ€๋‚ด๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
๋˜ ๋‹ค๋ฅธ ์ž์ „๊ฑฐ: UTF-30๋ณด๋‹ค 60-8% ๋” ์ปดํŒฉํŠธํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
์ˆซ์ž๋ฅผ ์ง์ ‘ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐํ˜ธ๋กœ ํ‘œ์‹œ๋œ ๋น„ํŠธ๊ฐ€ ์—ฌ๊ธฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. x. 11๋ฐ”์ดํŠธ ๋ ˆ์ฝ”๋“œ์—๋Š” ์ด๋Ÿฌํ•œ ๋น„ํŠธ๊ฐ€ 16๊ฐœ(21๊ฐœ ์ค‘)๋งŒ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์˜ ์„ ํ–‰ ๋น„ํŠธ์—๋Š” ๋ณด์กฐ ๊ธฐ๋Šฅ๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. 32๋ฐ”์ดํŠธ ๋ ˆ์ฝ”๋“œ์˜ ๊ฒฝ์šฐ 24๋น„ํŠธ ์ค‘ XNUMX๋น„ํŠธ๊ฐ€ ์ฝ”๋“œ ํฌ์ธํŠธ ๋ฒˆํ˜ธ๋กœ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. XNUMX๋ฐ”์ดํŠธ(์ด XNUMX๋น„ํŠธ ์ œ๊ณต)์ด๋ฉด ์ถฉ๋ถ„ํ•ด ๋ณด์ด์ง€๋งŒ ์„œ๋น„์Šค ๋งˆ์ปค๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์ด ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒŒ ๋‚˜์œ๊ฐ€์š”? ์„ค๋งˆ. ํ•œํŽธ์œผ๋กœ ๊ณต๊ฐ„์— ๋งŽ์€ ๊ด€์‹ฌ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค๋ฉด ๋ชจ๋“  ์ถ”๊ฐ€ ์—”ํŠธ๋กœํ”ผ์™€ ์ค‘๋ณต์„ฑ์„ ์‰ฝ๊ฒŒ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ์œ ๋‹ˆ์ฝ”๋“œ์˜ ๋ชฉํ‘œ๋Š” ๊ฐ€๋Šฅํ•œ ๊ฐ€์žฅ ๋ณดํŽธ์ ์ธ ์ฝ”๋”ฉ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด์ „์— ASCII๋กœ๋งŒ ์ž‘๋™ํ–ˆ๋˜ ์ฝ”๋“œ์— UTF-8๋กœ ์ธ์ฝ”๋”ฉ๋œ ๋ผ์ธ์„ ๋งก๊ธธ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‹ค์ œ๋กœ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ASCII ๋ฒ”์œ„์˜ ๋ฌธ์ž๋ฅผ ๋ณด๊ฒŒ ๋  ๊ฒƒ์„ ๋‘๋ ค์›Œํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ฒฐ๊ตญ UTF-8์—์„œ๋Š” ๋ชจ๋‘ XNUMX๋น„ํŠธ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ”์ดํŠธ - ์ด๊ฒƒ์ด ๋ฐ”๋กœ ASCII์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ ๋””์ฝ”๋”ฉํ•˜์ง€ ์•Š๊ณ  ๊ฐ‘์ž๊ธฐ ํฐ ๋ฌธ์ž์—ด์—์„œ ์ž‘์€ ๊ผฌ๋ฆฌ๋ฅผ ์ž˜๋ผ๋‚ด๋ ค๋Š” ๊ฒฝ์šฐ(๋˜๋Š” ์†์ƒ๋œ ์„น์…˜ ์ดํ›„ ์ •๋ณด์˜ ์ผ๋ถ€๋ฅผ ๋ณต์›ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ) ๋ฌธ์ž๊ฐ€ ์‹œ์ž‘๋˜๋Š” ์˜คํ”„์…‹์„ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„ํŠธ ์ ‘๋‘์‚ฌ๊ฐ€ ์žˆ๋Š” ๋ฐ”์ดํŠธ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋ ค๋ฉด 10).

๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋ฐœ๋ช…ํ•ฉ๋‹ˆ๊นŒ?

๋™์‹œ์— deflate์™€ ๊ฐ™์€ ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ๋Œ€๋กœ ์ ์šฉํ•  ์ˆ˜ ์—†์ง€๋งŒ ๋ฌธ์ž์—ด์„ ์ปดํŒฉํŠธํ•˜๊ฒŒ ์ €์žฅํ•˜๋ ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฐ€๋” ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ์ €๋Š” ๊ฑด๋ฌผ์„ ์ง“๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•  ๋•Œ ์ด ๋ฌธ์ œ์— ์ง๋ฉดํ–ˆ์Šต๋‹ˆ๋‹ค. ์••์ถ•๋œ ์ ‘๋‘์‚ฌ ํŠธ๋ฆฌ ์ž„์˜์˜ ์–ธ์–ด๋กœ ๋œ ๋‹จ์–ด๋ฅผ ํฌํ•จํ•˜๋Š” ๋Œ€๊ทœ๋ชจ ์‚ฌ์ „์˜ ๊ฒฝ์šฐ. ํ•œํŽธ์œผ๋กœ, ๊ฐ ๋‹จ์–ด๋Š” ๋งค์šฐ ์งง๊ธฐ ๋•Œ๋ฌธ์— ์••์ถ•ํ•˜๋Š” ๊ฒƒ์€ ํšจ๊ณผ์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ์ œ๊ฐ€ ๊ณ ๋ คํ•œ ํŠธ๋ฆฌ ๊ตฌํ˜„์€ ์ €์žฅ๋œ ๋ฌธ์ž์—ด์˜ ๊ฐ ๋ฐ”์ดํŠธ๊ฐ€ ๋ณ„๋„์˜ ํŠธ๋ฆฌ ์ •์ ์„ ์ƒ์„ฑํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์œผ๋ฏ€๋กœ ๊ทธ ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์œ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ๋„์„œ๊ด€์—์„œ Az.js (์—์„œ์™€ ๊ฐ™์ด ๋น„ํ˜•์„ฑ2, ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•จ) ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋Š” ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„๊ทธ-์‚ฌ์ „, ๊ฑฐ๊ธฐ์— ์ €์žฅ๋จ ์ข‹์€ ์˜ค๋ž˜๋œ CP1251. ๊ทธ๋Ÿฌ๋‚˜ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋“ฏ์ด ์ด๊ฒƒ์€ ์ œํ•œ๋œ ์•ŒํŒŒ๋ฒณ์— ๋Œ€ํ•ด์„œ๋งŒ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ค‘๊ตญ์–ด๋กœ ๋œ ์ค„์€ ๊ทธ๋Ÿฌํ•œ ์‚ฌ์ „์— ์ถ”๊ฐ€๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด์™€ ๋ณ„๋„๋กœ, ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์—์„œ UTF-8์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ถˆ์พŒํ•œ ๋‰˜์•™์Šค๋ฅผ ํ•˜๋‚˜ ๋” ์–ธ๊ธ‰ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์œ„ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ๋ฌธ์ž๋ฅผ XNUMX๋ฐ”์ดํŠธ๋กœ ์“ธ ๋•Œ ํ•ด๋‹น ์ˆซ์ž์™€ ๊ด€๋ จ๋œ ๋น„ํŠธ๊ฐ€ ์—ฐ์†์œผ๋กœ ๋‚˜์˜ค์ง€ ์•Š๊ณ  ํ•œ ์Œ์˜ ๋น„ํŠธ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 10 ์ค‘๊ฐ„์—: 110xxxxx 10xxxxxx. ์ด๋กœ ์ธํ•ด ๋‘ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ์˜ ํ•˜์œ„ 6๋น„ํŠธ๊ฐ€ ๋ฌธ์ž ์ฝ”๋“œ์—์„œ ์˜ค๋ฒ„ํ”Œ๋กœ๋˜๋Š” ๊ฒฝ์šฐ(์ฆ‰, ์ „ํ™˜์ด ๋ฐœ์ƒํ•จ) 10111111 โ†’ 10000000), ์ฒซ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ๋„ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž "p"๋Š” ๋ฐ”์ดํŠธ๋กœ ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. 0xD0 0xBF, ๋‹ค์Œ "r"์€ ์ด๋ฏธ 0xD1 0x80. ์ ‘๋‘์‚ฌ ํŠธ๋ฆฌ์—์„œ ์ด๋กœ ์ธํ•ด ๋ถ€๋ชจ ๋…ธ๋“œ๊ฐ€ ๋‘ ๊ฐœ๋กœ ๋ถ„ํ• ๋ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” ์ ‘๋‘์‚ฌ์— ๋Œ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 0xD0, ๊ทธ๋ฆฌ๊ณ  ๋˜ ๋‹ค๋ฅธ 0xD1 (์ „์ฒด ํ‚ค๋ฆด ๋ฌธ์ž๋Š” ๋‘ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ๋กœ๋งŒ ์ธ์ฝ”๋”ฉ๋  ์ˆ˜ ์žˆ์ง€๋งŒ)

๋‚ด๊ฐ€ ๋ฌด์—‡์„ ์–ป์—ˆ๋‚˜์š”?

์ด ๋ฌธ์ œ์— ์ง๋ฉดํ•˜์—ฌ ๋‚˜๋Š” ๋น„ํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฒŒ์ž„์„ ์—ฐ์Šตํ•˜๋Š” ๋™์‹œ์— ์œ ๋‹ˆ์ฝ”๋“œ ์ „์ฒด์˜ ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์ข€ ๋” ์ž˜ ์•Œ๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ UTF-C ์ธ์ฝ”๋”ฉ ํ˜•์‹("C")์ด ํƒ„์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒฉํŠธ), ์ด๋Š” ์ฝ”๋“œ ํฌ์ธํŠธ๋‹น 3๋ฐ”์ดํŠธ ์ดํ•˜๋ฅผ ์†Œ๋น„ํ•˜๋ฉฐ ๋งค์šฐ ์ž์ฃผ ์ „์ฒด ์ธ์ฝ”๋”ฉ ๋ผ์ธ์— ๋Œ€ํ•ด XNUMX๋ฐ”์ดํŠธ ์ถ”๊ฐ€. ์ด๋กœ ์ธํ•ด ๋งŽ์€ ๋น„ASCII ์•ŒํŒŒ๋ฒณ์—์„œ ์ด๋Ÿฌํ•œ ์ธ์ฝ”๋”ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. UTF-30๋ณด๋‹ค 60-8% ๋” ์ปดํŒฉํŠธํ•ฉ๋‹ˆ๋‹ค..

์ธ์ฝ”๋”ฉ ๋ฐ ๋””์ฝ”๋”ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ตฌํ˜„ ์˜ˆ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. JavaScript ๋ฐ Go ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์ฝ”๋“œ์—์„œ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ์ด ํ˜•์‹์ด ์–ด๋–ค ์˜๋ฏธ์—์„œ๋Š” "์ž์ „๊ฑฐ"๋กœ ๋‚จ์•„ ์žˆ๋‹ค๋Š” ์ ์„ ๊ฐ•์กฐํ•  ๊ฒƒ์ด๋ฉฐ ์ด ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™œ ํ•„์š”ํ•œ์ง€ ๊นจ๋‹ซ์ง€ ๋ชปํ•œ ์ฑ„. ์ด๊ฒƒ์€ ์‹ฌ๊ฐํ•œ "UTF-8 ๊ฐœ์„ "์ด๋ผ๊ธฐ๋ณด๋‹ค๋Š” ์—ฌ์ „ํžˆ ์‹คํ—˜์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ฝ”๋“œ๋Š” ๊น”๋”ํ•˜๊ณ  ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ์ˆ˜๋งŽ์€ ์ฃผ์„๊ณผ ํ…Œ์ŠคํŠธ ๋ฒ”์œ„๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์ž์ „๊ฑฐ: UTF-30๋ณด๋‹ค 60-8% ๋” ์ปดํŒฉํŠธํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ ๋ฐ UTF-8๊ณผ์˜ ๋น„๊ต

๋‚˜๋„ ๊ทธ๋žฌ์–ด ๋ฐ๋ชจ ํŽ˜์ด์ง€, ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณณ์—์„œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์›๋ฆฌ์™€ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ค‘๋ณต ๋น„ํŠธ ์ œ๊ฑฐ

๋ฌผ๋ก  UTF-8์„ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ์ฒซ ๋ฒˆ์งธ์ด์ž ๊ฐ€์žฅ ๋ถ„๋ช…ํ•œ ๊ฒƒ์€ ๊ฐ ๋ฐ”์ดํŠธ์˜ ์„œ๋น„์Šค ๋น„ํŠธ ์ˆ˜๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด UTF-8์˜ ์ฒซ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ๋Š” ํ•ญ์ƒ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. 0, ๋˜๋Š” 11 - ์ ‘๋‘์‚ฌ 10 ๋‹ค์Œ ๋ฐ”์ดํŠธ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค. ์ ‘๋‘์‚ฌ๋ฅผ ๋ฐ”๊พธ์ž 11 ์— 1, ๋‹ค์Œ ๋ฐ”์ดํŠธ์—์„œ๋Š” ์ ‘๋‘์‚ฌ๋ฅผ ์™„์ „ํžˆ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚  ๊ฒƒ?

0xxxxxxx โ€” 1๋ฐ”์ดํŠธ
10xxxxxx xxxxxxxx - 2๋ฐ”์ดํŠธ
110xxxxx xxxxxxxx xxxxxxxx - 3๋ฐ”์ดํŠธ

์ž ๊น๋งŒ์š”, 21๋ฐ”์ดํŠธ ๋ ˆ์ฝ”๋“œ๋Š” ์–ด๋””์— ์žˆ๋‚˜์š”? ๊ทธ๋Ÿฌ๋‚˜ ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. XNUMX๋ฐ”์ดํŠธ๋กœ ์“ธ ๋•Œ ์ด์ œ XNUMX๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋Š” ๋‹ค์Œ์˜ ๋ชจ๋“  ์ˆซ์ž์— ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. 0x10FFFF.

์—ฌ๊ธฐ์„œ ์šฐ๋ฆฌ๋Š” ๋ฌด์—‡์„ ํฌ์ƒํ–ˆ์Šต๋‹ˆ๊นŒ? ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋ฒ„ํผ์˜ ์ž„์˜ ์œ„์น˜์—์„œ ๋ฌธ์ž ๊ฒฝ๊ณ„๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž„์˜์˜ ๋ฐ”์ดํŠธ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ๊ทธ ๋ฐ”์ดํŠธ์—์„œ ๋‹ค์Œ ๋ฌธ์ž์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํ˜•์‹์˜ ์ œํ•œ ์‚ฌํ•ญ์ด์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ฑฐ์˜ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฒ„ํผ๋ฅผ ํ†ตํ•ด ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(ํŠนํžˆ ์งง์€ ์ค„์˜ ๊ฒฝ์šฐ).

2๋ฐ”์ดํŠธ๋กœ ์–ธ์–ด๋ฅผ ๋‹ค๋ฃจ๋Š” ์ƒํ™ฉ๋„ ์ข‹์•„์กŒ์Šต๋‹ˆ๋‹ค. ์ด์ œ 14๋ฐ”์ดํŠธ ํ˜•์‹์€ XNUMX๋น„ํŠธ ๋ฒ”์œ„๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ ์ด๋Š” ์ตœ๋Œ€ XNUMX๋น„ํŠธ์˜ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. 0x3FFF. ์ค‘๊ตญ์ธ์€ ์šด์ด ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (๊ทธ๋“ค์˜ ์„ฑ๊ฒฉ์€ ๋Œ€๋ถ€๋ถ„ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 0x4E00 ์— 0x9FFF), ๊ทธ๋Ÿฌ๋‚˜ ์กฐ์ง€์•„์ธ๊ณผ ๋‹ค๋ฅธ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์€ ๋” ์žฌ๋ฏธ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์˜ ์–ธ์–ด๋„ ๋ฌธ์ž๋‹น 2๋ฐ”์ดํŠธ์— ๋งž์Šต๋‹ˆ๋‹ค.

์ธ์ฝ”๋” ์ƒํƒœ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”

์ด์ œ ์„  ์ž์ฒด์˜ ์†์„ฑ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์‚ฌ์ „์—๋Š” ๋™์ผํ•œ ์•ŒํŒŒ๋ฒณ ๋ฌธ์ž๋กœ ์ž‘์„ฑ๋œ ๋‹จ์–ด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฐ€์žฅ ๋งŽ์œผ๋ฉฐ ์ด๋Š” ๋‹ค๋ฅธ ๋งŽ์€ ํ…์ŠคํŠธ์—๋„ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค. ์ด ์•ŒํŒŒ๋ฒณ์„ ํ•œ ๋ฒˆ ํ‘œ์‹œํ•˜๊ณ  ๊ทธ ์•ˆ์— ๋“ค์–ด ์žˆ๋Š” ๋ฌธ์ž์˜ ๋ฒˆํ˜ธ๋งŒ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์œ ๋‹ˆ์ฝ”๋“œ ํ…Œ์ด๋ธ”์˜ ๋ฌธ์ž ๋ฐฐ์—ด์ด ๋„์›€์ด ๋˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์œ ๋‹ˆ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. ๋น„ํ–‰๊ธฐ ๊ฐ๊ฐ 65536๊ฐœ์˜ ์ฝ”๋“œ. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ๋งค์šฐ ์œ ์šฉํ•œ ๋ถ„ํ• ์ด ์•„๋‹™๋‹ˆ๋‹ค(์ด๋ฏธ ๋งํ–ˆ๋“ฏ์ด ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์šฐ๋ฆฌ๋Š” ์˜์  ํ‰๋ฉด์— ์žˆ์Šต๋‹ˆ๋‹ค). ๋” ํฅ๋ฏธ๋กœ์šด ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ธ”๋ก. ์ด๋Ÿฌํ•œ ๋ฒ”์œ„๋Š” ๋” ์ด์ƒ ๊ณ ์ •๋œ ๊ธธ์ด๋ฅผ ๊ฐ–์ง€ ์•Š์œผ๋ฉฐ ๋” ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ ๋ฒ”์œ„๋Š” ๋™์ผํ•œ ์•ŒํŒŒ๋ฒณ์˜ ๋ฌธ์ž๋ฅผ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์ž์ „๊ฑฐ: UTF-30๋ณด๋‹ค 60-8% ๋” ์ปดํŒฉํŠธํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
๋ฒต๊ณจ์–ด ์•ŒํŒŒ๋ฒณ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ ๋ธ”๋ก์ž…๋‹ˆ๋‹ค. ๋ถˆํ–‰ํ•˜๊ฒŒ๋„ ์—ญ์‚ฌ์ ์ธ ์ด์œ ๋กœ ์ธํ•ด ์ด๋Š” ๊ทธ๋‹ค์ง€ ์กฐ๋ฐ€ํ•˜์ง€ ์•Š์€ ํŒจํ‚ค์ง•์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค. 96๊ฐœ์˜ ๋ฌธ์ž๊ฐ€ 128๊ฐœ์˜ ๋ธ”๋ก ์ฝ”๋“œ ํฌ์ธํŠธ์— ํ˜ผ๋ž€์Šค๋Ÿฝ๊ฒŒ ํฉ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ธ”๋ก์˜ ์‹œ์ž‘๊ณผ ํฌ๊ธฐ๋Š” ํ•ญ์ƒ 16์˜ ๋ฐฐ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋‹จ์ˆœํžˆ ํŽธ์˜๋ฅผ ์œ„ํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋งŽ์€ ๋ธ”๋ก์ด 128 ๋˜๋Š” 256์˜ ๋ฐฐ์ˆ˜์ธ ๊ฐ’์—์„œ ์‹œ์ž‘ํ•˜๊ณ  ๋๋‚ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ธฐ๋ณธ ํ‚ค๋ฆด ๋ฌธ์ž๋Š” ์—์„œ 256๋ฐ”์ดํŠธ๋ฅผ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค. 0x0400 ์— 0x04FF. ์ด๊ฒƒ์€ ๋งค์šฐ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ ‘๋‘์‚ฌ๋ฅผ ํ•œ ๋ฒˆ ์ €์žฅํ•˜๋ฉด 0x04, ๋ชจ๋“  ํ‚ค๋ฆด ๋ฌธ์ž๋ฅผ XNUMX๋ฐ”์ดํŠธ๋กœ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค, ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ASCII(๋ฐ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค๋ฅธ ๋ฌธ์ž)๋กœ ๋Œ์•„๊ฐˆ ๊ธฐํšŒ๋ฅผ ์žƒ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์šฐ๋ฆฌ๋Š” ์ด๋ ‡๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค:

  1. XNUMX๋ฐ”์ดํŠธ 10yyyyyy yxxxxxxx ์ˆซ์ž๋กœ ๊ธฐํ˜ธ๋ฅผ ๋‚˜ํƒ€๋‚ผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ yyyyyy yxxxxxxx, ๋˜ํ•œ ๋ณ€๊ฒฝ ํ˜„์žฌ ์•ŒํŒŒ๋ฒณ ์— yyyyyy y0000000 (์ฆ‰, ์šฐ๋ฆฌ๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๋น„ํŠธ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋น„ํŠธ๋ฅผ ๊ธฐ์–ตํ•ฉ๋‹ˆ๋‹ค. 7 ๋น„ํŠธ);
  2. XNUMX๋ฐ”์ดํŠธ 0xxxxxxx ์ด๊ฒƒ์ด ํ˜„์žฌ ์•ŒํŒŒ๋ฒณ์˜ ๋ฌธ์ž์ด๋‹ค. 1๋‹จ๊ณ„์—์„œ ๊ธฐ์–ตํ•œ ์˜คํ”„์…‹์— ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์•ŒํŒŒ๋ฒณ์„ ๋ฐ”๊พธ์ง€๋Š” ์•Š์•˜์ง€๋งŒ ์˜คํ”„์…‹์€ XNUMX์ด๋ฏ€๋กœ ASCII์™€์˜ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ 3๋ฐ”์ดํŠธ๊ฐ€ ํ•„์š”ํ•œ ์ฝ”๋“œ์˜ ๊ฒฝ์šฐ:

  1. XNUMX๋ฐ”์ดํŠธ 110yyyyy yxxxxxxx xxxxxxxx ์ˆซ์ž๋กœ ๊ธฐํ˜ธ๋ฅผ ๋‚˜ํƒ€๋‚ด๋‹ค yyyyyy yxxxxxxx xxxxxxxx, ๋ณ€ํ™” ํ˜„์žฌ ์•ŒํŒŒ๋ฒณ ์— yyyyyy y0000000 00000000 (์–ด๋ฆฐ์•  ๋นผ๊ณ  ๋‹ค ๊ธฐ์–ตํ•จ 15 ๋น„ํŠธ), ์ง€๊ธˆ ์žˆ๋Š” ์ƒ์ž๋ฅผ ์„ ํƒํ•˜์„ธ์š”. ๊ธด ๋ชจ๋“œ(์•ŒํŒŒ๋ฒณ์„ ๋‹ค์‹œ XNUMX๋ฐ”์ดํŠธ ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ์ด ํ”Œ๋ž˜๊ทธ๊ฐ€ ์žฌ์„ค์ •๋ฉ๋‹ˆ๋‹ค)
  2. XNUMX๋ฐ”์ดํŠธ 0xxxxxxx xxxxxxxx ๊ธด ๋ชจ๋“œ์—์„œ๋Š” ํ˜„์žฌ ์•ŒํŒŒ๋ฒณ์˜ ๋ฌธ์ž์ž…๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ 1๋‹จ๊ณ„์˜ ์˜คํ”„์…‹์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์œ ์ผํ•œ ์ฐจ์ด์ ์€ ์ด์ œ XNUMX๋ฐ”์ดํŠธ๋ฅผ ์ฝ๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(์ด ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—).

์ข‹์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋™์ผํ•œ 7๋น„ํŠธ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฒ”์œ„์˜ ๋ฌธ์ž๋ฅผ ์ธ์ฝ”๋”ฉํ•ด์•ผ ํ•˜์ง€๋งŒ ์‹œ์ž‘ ๋ถ€๋ถ„์— 1๋ฐ”์ดํŠธ๋ฅผ ์ถ”๊ฐ€๋กœ ์‚ฌ์šฉํ•˜๊ณ  ๋ฌธ์ž๋‹น ์ด XNUMX๋ฐ”์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์ž์ „๊ฑฐ: UTF-30๋ณด๋‹ค 60-8% ๋” ์ปดํŒฉํŠธํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
์ด์ „ ๋ฒ„์ „ ์ค‘ ํ•˜๋‚˜์—์„œ ์ž‘์—…ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ UTF-8์„ ๋Šฅ๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์ง€๋งŒ ์—ฌ์ „ํžˆ ๊ฐœ์„ ์˜ ์—ฌ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋” ๋‚˜์œ ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋จผ์ €, ์กฐ๊ฑด์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์•ŒํŒŒ๋ฒณ ์˜คํ”„์…‹ ๋ฐ ํ™•์ธ๋ž€ ์žฅ๊ฑฐ๋ฆฌ ๋ชจ๋“œ. ์ด๋Š” ์šฐ๋ฆฌ๋ฅผ ๋”์šฑ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ๋™์ผํ•œ ๋ฌธ์ž๊ฐ€ ๋‹ค๋ฅธ ์ปจํ…์ŠคํŠธ์—์„œ ๋‹ค๋ฅด๊ฒŒ ์ธ์ฝ”๋”ฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•˜์œ„ ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰์€ ๋ฐ”์ดํŠธ ๋น„๊ต๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ด๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‘˜์งธ, ์•ŒํŒŒ๋ฒณ์„ ๋ณ€๊ฒฝํ•˜์ž๋งˆ์ž ASCII ๋ฌธ์ž ์ธ์ฝ”๋”ฉ์ด ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๋ผํ‹ด ์•ŒํŒŒ๋ฒณ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ณต๋ฐฑ์„ ํฌํ•จํ•œ ๊ธฐ๋ณธ ๊ตฌ๋‘์ ๋„ ํฌํ•จ). ์•ŒํŒŒ๋ฒณ์„ ๋‹ค์‹œ 0์œผ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ถ”๊ฐ€ ๋ฐ”์ดํŠธ(๊ทธ๋ฆฌ๊ณ  ์ฃผ์š” ์š”์ ์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ ์œ„ํ•œ ๋˜ ๋‹ค๋ฅธ ๋ฐ”์ดํŠธ)์ž…๋‹ˆ๋‹ค.

์•ŒํŒŒ๋ฒณ ํ•˜๋‚˜๊ฐ€ ์ข‹๊ณ , ๋‘ ๊ฐœ๊ฐ€ ๋” ์ข‹์Šต๋‹ˆ๋‹ค

์œ„์—์„œ ์„ค๋ช…ํ•œ ์„ธ ๊ฐ€์ง€์— ํ•˜๋‚˜ ๋” ์ถ”๊ฐ€ํ•˜์—ฌ ๋น„ํŠธ ์ ‘๋‘์‚ฌ๋ฅผ ์กฐ๊ธˆ ๋ณ€๊ฒฝํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

0xxxxxxx โ€” ์ผ๋ฐ˜ ๋ชจ๋“œ์—์„œ๋Š” 1๋ฐ”์ดํŠธ, ๊ธด ๋ชจ๋“œ์—์„œ๋Š” 2๋ฐ”์ดํŠธ
11xxxxxx โ€” 1๋ฐ”์ดํŠธ
100xxxxx xxxxxxxx - 2๋ฐ”์ดํŠธ
101xxxxx xxxxxxxx xxxxxxxx - 3๋ฐ”์ดํŠธ

๋˜ ๋‹ค๋ฅธ ์ž์ „๊ฑฐ: UTF-30๋ณด๋‹ค 60-8% ๋” ์ปดํŒฉํŠธํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ XNUMX๋ฐ”์ดํŠธ ๋ ˆ์ฝ”๋“œ์—๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋น„ํŠธ๊ฐ€ ํ•˜๋‚˜ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. ์ฆ‰, ์ตœ๋Œ€ ์ฝ”๋“œ ํฌ์ธํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 0x1FFF์•„๋‹ˆ๋ผ 0x3FFF. ๊ทธ๋Ÿฌ๋‚˜ ๋”๋ธ”๋ฐ”์ดํŠธ UTF-8 ์ฝ”๋“œ๋ณด๋‹ค ์—ฌ์ „ํžˆ ๋ˆˆ์— ๋„๊ฒŒ ํฌ๊ณ , ๋Œ€๋ถ€๋ถ„์˜ ์ผ๋ฐ˜์ ์ธ ์–ธ์–ด๊ฐ€ ์—ฌ์ „ํžˆ ์ ํ•ฉํ•˜๋ฉฐ, ๊ฐ€์žฅ ๋ˆˆ์— ๋„๋Š” ์†์‹ค์€ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค. ํžˆ๋ผ๊ฐ€๋‚˜ ะธ ๊ฐ€ํƒ€์นด๋‚˜, ์ผ๋ณธ์ธ์€ ์Šฌํ”„๋‹ค.

์ด ์ƒˆ๋กœ์šด ์ฝ”๋“œ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? 11xxxxxx? ์ด๊ฒƒ์€ 64์ž ํฌ๊ธฐ์˜ ์ž‘์€ "์Šคํƒœ์‹œ"์ด๋ฉฐ ๊ธฐ๋ณธ ์•ŒํŒŒ๋ฒณ์„ ๋ณด์™„ํ•˜๋ฏ€๋กœ ๋ณด์กฐ(๋ณด์กฐ์ž) ์•ŒํŒŒ๋ฒณ. ํ˜„์žฌ ์•ŒํŒŒ๋ฒณ์„ ๋ฐ”๊พธ๋ฉด ์ด์ „ ์•ŒํŒŒ๋ฒณ์˜ ์ผ๋ถ€๊ฐ€ ๋ณด์กฐ ์•ŒํŒŒ๋ฒณ์ด ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ASCII์—์„œ ํ‚ค๋ฆด ๋ฌธ์ž๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ˆจ๊น€์—๋Š” ๋‹ค์Œ์„ ํฌํ•จํ•˜๋Š” 64๊ฐœ์˜ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ผํ‹ด ์•ŒํŒŒ๋ฒณ, ์ˆซ์ž, ๊ณต๋ฐฑ ๋ฐ ์‰ผํ‘œ (ASCII๊ฐ€ ์•„๋‹Œ ํ…์ŠคํŠธ์— ๊ฐ€์žฅ ์ž์ฃผ ์‚ฝ์ž…๋จ) ๋‹ค์‹œ ASCII๋กœ ์ „ํ™˜ํ•˜๋ฉด ํ‚ค๋ฆด ๋ฌธ์ž์˜ ์ฃผ์š” ๋ถ€๋ถ„์ด ๋ณด์กฐ ์•ŒํŒŒ๋ฒณ์ด ๋ฉ๋‹ˆ๋‹ค.

๋‘ ๊ฐœ์˜ ์•ŒํŒŒ๋ฒณ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๋•๋ถ„์— ์šฐ๋ฆฌ๋Š” ์•ŒํŒŒ๋ฒณ ์ „ํ™˜์— ๋“œ๋Š” ๋น„์šฉ์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ๋งŽ์€ ์ˆ˜์˜ ํ…์ŠคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ์ „ํ™˜).

๋ณด๋„ˆ์Šค: ํ•˜์œ„ ์•ŒํŒŒ๋ฒณ ์ ‘๋‘์‚ฌ ์ถ”๊ฐ€ 11xxxxxx ์ดˆ๊ธฐ ์˜คํ”„์…‹์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. 0xC0, CP1252์™€ ๋ถ€๋ถ„์ ์ธ ํ˜ธํ™˜์„ฑ์„ ์–ป์Šต๋‹ˆ๋‹ค. ์ฆ‰, CP1252๋กœ ์ธ์ฝ”๋”ฉ๋œ ๋งŽ์€(์ „๋ถ€๋Š” ์•„๋‹˜) ์„œ์œ ๋Ÿฝ ํ…์ŠคํŠธ๊ฐ€ UTF-C์—์„œ๋„ ๋™์ผํ•˜๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๊ธฐ์—๋Š” ์–ด๋ ค์›€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์•ŒํŒŒ๋ฒณ์—์„œ ๋ณด์กฐ ์•ŒํŒŒ๋ฒณ์„ ์–ป๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋™์ผํ•œ ์˜คํ”„์…‹์„ ๊ทธ๋Œ€๋กœ ๋‘˜ ์ˆ˜ ์žˆ์ง€๋งŒ ์•„์‰ฝ๊ฒŒ๋„ ์—ฌ๊ธฐ์„œ๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ๊ตฌ์กฐ๊ฐ€ ์ด๋ฏธ ์šฐ๋ฆฌ์—๊ฒŒ ๋ถˆ๋ฆฌํ•˜๊ฒŒ ์ž‘์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•ŒํŒŒ๋ฒณ์˜ ์ฃผ์š” ๋ถ€๋ถ„์ด ๋ธ”๋ก์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋Ÿฌ์‹œ์•„ ๋Œ€๋ฌธ์ž "A"์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 0x0410, ํ‚ค๋ฆด ๋ฌธ์ž ๋ธ”๋ก์€ ๋‹ค์Œ์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€๋งŒ 0x0400). ๋”ฐ๋ผ์„œ ์ฒ˜์Œ 64์ž๋ฅผ ์ˆจ๊ฒจ๋‘๋ฉด ์•ŒํŒŒ๋ฒณ์˜ ๊ผฌ๋ฆฌ ๋ถ€๋ถ„์— ์•ก์„ธ์Šคํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ์–ธ์–ด์— ํ•ด๋‹นํ•˜๋Š” ์ผ๋ถ€ ๋ธ”๋ก์„ ์ˆ˜๋™์œผ๋กœ ์‚ดํŽด๋ณด๊ณ  ํ•ด๋‹น ์–ธ์–ด์˜ ๊ธฐ๋ณธ ์•ŒํŒŒ๋ฒณ ๋‚ด์—์„œ ๋ณด์กฐ ์•ŒํŒŒ๋ฒณ์˜ ์˜คํ”„์…‹์„ ์ง€์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์™ธ์ ์œผ๋กœ ๋ผํ‹ด ์•ŒํŒŒ๋ฒณ์€ ์ผ๋ฐ˜์ ์œผ๋กœ base64์ฒ˜๋Ÿผ ์žฌ์ •๋ ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์ž์ „๊ฑฐ: UTF-30๋ณด๋‹ค 60-8% ๋” ์ปดํŒฉํŠธํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์ตœ์ข… ์†์งˆ

๋งˆ์ง€๋ง‰์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ ๋ญ”๊ฐ€๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค.

ํ˜•์‹์— ์œ ์˜ํ•˜์„ธ์š”. 101xxxxx xxxxxxxx xxxxxxxx ์ตœ๋Œ€ ์ˆซ์ž๋ฅผ ์ธ์ฝ”๋”ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 0x1FFFFF, ์œ ๋‹ˆ์ฝ”๋“œ๋Š” ๋” ์ผ์ฐ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. 0x10FFFF. ์ฆ‰, ๋งˆ์ง€๋ง‰ ์ฝ”๋“œ ํฌ์ธํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. 10110000 11111111 11111111. ๋”ฐ๋ผ์„œ ์ฒซ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•์‹์ด๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1011xxxx (์–ด๋”” xxxx 0๋ณด๋‹ค ํผ), ์ด๋Š” ๋‹ค๋ฅธ ์˜๋ฏธ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 15๋ฐ”์ดํŠธ๋กœ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋ฐ ์ง€์†์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž XNUMX๊ฐœ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ €๋Š” ๋‹ค๋ฅด๊ฒŒ ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ 21๋ฐ”์ดํŠธ๊ฐ€ ํ•„์š”ํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ธ”๋ก์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋ฏธ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์ด๊ฒƒ๋“ค์€ ํ•œ์ž์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ๋“ค๋กœ ๋ฌด์—‡์ด๋“ ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. XNUMX ๊ฐœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํžˆ๋ผ๊ฐ€๋‚˜์™€ ๊ฐ€ํƒ€์นด๋‚˜๋„ ๊ทธ๊ณณ์œผ๋กœ ๋‚ ์•„๊ฐ”์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ XNUMX๋„ ์•ˆ๋˜๋Š” ์ˆซ์ž๊ฐ€ ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ผ๋ณธ์–ด๋ฅผ ๊ธฐ์–ตํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ชจํ‹ฐ์ฝ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค(์‚ฌ์‹ค ์œ ๋‹ˆ์ฝ”๋“œ์—์„œ๋Š” ์—ฌ๋Ÿฌ ๊ณณ์— ํฉ์–ด์ ธ ์žˆ์ง€๋งŒ ์ฃผ์š” ๋ธ”๋ก์€ ๋ฒ”์œ„์— ์žˆ์Šต๋‹ˆ๋‹ค). 0x1F300 - 0x1FBFF). ์ด์ œ ์—ฌ๋Ÿฌ ์ฝ”๋“œ ํฌ์ธํŠธ์—์„œ ๋™์‹œ์— ์กฐํ•ฉ๋œ ์ด๋ชจํ‹ฐ์ฝ˜์ด ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ƒ๊ฐํ•ด ๋ณด๋ฉด(์˜ˆ: ์ด๋ชจํ‹ฐ์ฝ˜ โ€โ€โ€๋˜ ๋‹ค๋ฅธ ์ž์ „๊ฑฐ: UTF-30๋ณด๋‹ค 60-8% ๋” ์ปดํŒฉํŠธํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ตœ๋Œ€ 7๊ฐœ์˜ ์ฝ”๋“œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค!), ๊ฐ๊ฐ์— 7๋ฐ”์ดํŠธ๋ฅผ ์†Œ๋น„ํ•˜๋Š” ๊ฒƒ์€ ์™„์ „ํžˆ ๋ถ€๋„๋Ÿฌ์šด ์ผ์ด ๋ฉ๋‹ˆ๋‹ค(ํ•˜๋‚˜์˜ ์•„์ด์ฝ˜์„ ์œ„ํ•ด 3ร—21 = XNUMX๋ฐ”์ดํŠธ, ์•…๋ชฝ์ž…๋‹ˆ๋‹ค).

๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ์ด๋ชจํ‹ฐ์ฝ˜, ํžˆ๋ผ๊ฐ€๋‚˜ ๋ฐ ๊ฐ€ํƒ€์นด๋‚˜์— ํ•ด๋‹นํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์„ ํƒ๋œ ๋ฒ”์œ„๋ฅผ ์„ ํƒํ•˜๊ณ  ํ•˜๋‚˜์˜ ์—ฐ์† ๋ชฉ๋ก์œผ๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋‹ค์‹œ ๋งค๊ธฐ๊ณ  XNUMX๋ฐ”์ดํŠธ๊ฐ€ ์•„๋‹Œ XNUMX๋ฐ”์ดํŠธ๋กœ ์ธ์ฝ”๋”ฉํ•ฉ๋‹ˆ๋‹ค.

1011xxxx xxxxxxxx

์ข‹์•„์š”: ์•ž์„œ ์–ธ๊ธ‰ํ•œ โ€โ€โ€ ์ด๋ชจํ‹ฐ์ฝ˜๋˜ ๋‹ค๋ฅธ ์ž์ „๊ฑฐ: UTF-30๋ณด๋‹ค 60-8% ๋” ์ปดํŒฉํŠธํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.7๊ฐœ์˜ ์ฝ”๋“œ ํฌ์ธํŠธ๋กœ ๊ตฌ์„ฑ๋œ ๋Š” UTF-8์—์„œ 25๋ฐ”์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ์ด๋ฅผ 14 (๊ฐ ์ฝ”๋“œ ํฌ์ธํŠธ์— ๋Œ€ํ•ด ์ •ํ™•ํžˆ XNUMX๋ฐ”์ดํŠธ) ๊ทธ๋Ÿฐ๋ฐ Habr์ด (์ด์ „ ํŽธ์ง‘๊ธฐ์™€ ์ƒˆ ํŽธ์ง‘๊ธฐ ๋ชจ๋‘์—์„œ) ์†Œํ™”๋ฅผ ๊ฑฐ๋ถ€ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์ง„๊ณผ ํ•จ๊ป˜ ์‚ฝ์ž…ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•œ ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ๋” ํ•ด๊ฒฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๊ธฐ์–ตํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๊ธฐ๋ณธ ์•ŒํŒŒ๋ฒณ์€ ๋ณธ์งˆ์ ์œผ๋กœ ์ƒ์œ„ 6๋น„ํŠธ, ์šฐ๋ฆฌ๋Š” ์ด๋ฅผ ์—ผ๋‘์— ๋‘๊ณ  ๋‹ค์Œ ๋””์ฝ”๋”ฉ๋œ ๊ฐ ๊ธฐํ˜ธ์˜ ์ฝ”๋“œ์— ๋ถ™์ž…๋‹ˆ๋‹ค. ๋ธ”๋ก์— ํฌํ•จ๋œ ํ•œ์ž์˜ ๊ฒฝ์šฐ 0x4E00 - 0x9FFF, ์ด๋Š” ๋น„ํŠธ 0 ๋˜๋Š” 1์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๊ทธ๋‹ค์ง€ ํŽธ๋ฆฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋‘ ๊ฐ’ ์‚ฌ์ด์—์„œ ์•ŒํŒŒ๋ฒณ์„ ์ง€์†์ ์œผ๋กœ ์ „ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ฆ‰, 10240๋ฐ”์ดํŠธ๋ฅผ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค). ๊ทธ๋Ÿฌ๋‚˜ ๊ธด ๋ชจ๋“œ์—์„œ๋Š” ์ฝ”๋“œ ์ž์ฒด์—์„œ ์งง์€ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋ฌธ์ž ์ˆ˜๋ฅผ ๋บ„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์œ„์—์„œ ์„ค๋ช…ํ•œ ๋ชจ๋“  ํŠธ๋ฆญ์„ ์ ์šฉํ•œ ํ›„์—๋Š” XNUMX์ž…๋‹ˆ๋‹ค). ๊ทธ๋Ÿฌ๋ฉด ์ƒํ˜• ๋ฌธ์ž์˜ ๋ฒ”์œ„๊ฐ€ ๋‹ค์Œ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. 0x2600 - 0x77FF, ์ด ๊ฒฝ์šฐ ์ „์ฒด ๋ฒ”์œ„์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ 6๋น„ํŠธ(21๊ฐœ ์ค‘)๋Š” 0๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ƒํ˜• ๋ฌธ์ž ์‹œํ€€์Šค๋Š” ์ƒํ˜• ๋ฌธ์ž๋‹น XNUMX๋ฐ”์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค(์ด๋Š” ๋„“์€ ๋ฒ”์œ„์— ์ตœ์ ์ž„). ์•ŒํŒŒ๋ฒณ ์Šค์œ„์น˜๋ฅผ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

๋Œ€์ฒด ์†”๋ฃจ์…˜: SCSU, BOCU-1

๋ฐฉ๊ธˆ ๊ธฐ์‚ฌ ์ œ๋ชฉ์„ ์ฝ์€ ์œ ๋‹ˆ์ฝ”๋“œ ์ „๋ฌธ๊ฐ€๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ํ‘œ์ค€ ์ค‘์— ์ง์ ‘์ ์œผ๋กœ ๋‹ค์Œ์ด ์žˆ๋‹ค๋Š” ์ ์„ ์„œ๋‘˜๋Ÿฌ ์ƒ๊ธฐ์‹œ์ผœ ์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์œ ๋‹ˆ์ฝ”๋“œ์šฉ ํ‘œ์ค€ ์••์ถ• ๋ฐฉ์‹ (SCSU)๋Š” ๊ธฐ์‚ฌ์— ์„ค๋ช…๋œ ๊ฒƒ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•œ ์ธ์ฝ”๋”ฉ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์†”์งํžˆ ์ธ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‚ด ๊ฒฐ์ •์„ ์“ฐ๋Š” ๋ฐ ๊นŠ์ด ๋ชฐ์ž…ํ•œ ํ›„์—์•ผ ๊ทธ ์กด์žฌ๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ ์ด์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ์—ˆ๋‹ค๋ฉด ์•„๋งˆ๋„ ๋‚˜๋งŒ์˜ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๊ณ ์•ˆํ•˜๋Š” ๋Œ€์‹  ๊ตฌํ˜„์„ ์ž‘์„ฑํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํฅ๋ฏธ๋กœ์šด ์ ์€ SCSU๊ฐ€ ์ œ๊ฐ€ ์Šค์Šค๋กœ ์ƒ๊ฐํ•ด๋‚ธ ์•„์ด๋””์–ด์™€ ๋งค์šฐ ์œ ์‚ฌํ•œ ์•„์ด๋””์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(โ€œ์•ŒํŒŒ๋ฒณโ€ ๊ฐœ๋… ๋Œ€์‹ ์— ๊ทธ๋“ค์€ โ€œ์ฐฝโ€์„ ์‚ฌ์šฉํ•˜๋ฉฐ ์ œ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ์•„์ด๋””์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค). ๋™์‹œ์— ์ด ํ˜•์‹์—๋Š” ๋‹จ์ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์ฝ”๋”ฉ๋ณด๋‹ค ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์กฐ๊ธˆ ๋” ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ํ‘œ์ค€์€ ๋‹ค์–‘ํ•œ ํ‘œํ˜„ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜์ง€๋งŒ ์ตœ์ ์˜ ํ‘œํ˜„ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ๋Š” ์–ธ๊ธ‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์ธ์ฝ”๋”๋Š” ์ผ์ข…์˜ ๊ฒฝํ—˜์  ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ข‹์€ ํŒจํ‚ค์ง•์„ ์ƒ์„ฑํ•˜๋Š” SCSU ์ธ์ฝ”๋”๋Š” ๋‚ด ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ณด๋‹ค ๋” ๋ณต์žกํ•˜๊ณ  ๋ฒˆ๊ฑฐ๋กญ์Šต๋‹ˆ๋‹ค.

๋น„๊ต๋ฅผ ์œ„ํ•ด ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ„๋‹จํ•œ SCSU ๊ตฌํ˜„์„ JavaScript๋กœ ์˜ฎ๊ฒผ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ์–‘ ์ธก๋ฉด์—์„œ UTF-C์™€ ๋น„์Šทํ•œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์ง€๋งŒ ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ๊ฒฐ๊ณผ๊ฐ€ ์ˆ˜์‹ญ ํผ์„ผํŠธ ๋” ๋‚˜๋นด์Šต๋‹ˆ๋‹ค(๋•Œ๋กœ๋Š” ์ด๋ฅผ ์ดˆ๊ณผํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๋ณ„๋กœ๋Š” ์•„๋‹™๋‹ˆ๋‹ค). ์˜ˆ๋ฅผ ๋“ค์–ด ํžˆ๋ธŒ๋ฆฌ์–ด์™€ ๊ทธ๋ฆฌ์Šค์–ด ํ…์ŠคํŠธ๋Š” UTF-C๋กœ ์ธ์ฝ”๋”ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. SCSU๋ณด๋‹ค 60% ๋” ์ข‹์Œ (์•„๋งˆ๋„ ์ฝคํŒฉํŠธํ•œ ์•ŒํŒŒ๋ฒณ ๋•Œ๋ฌธ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค).

์ด์™€ ๋ณ„๋„๋กœ SCSU ์™ธ์—๋„ ์œ ๋‹ˆ์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๋Š” ์ ์„ ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. BOCU-1, ๊ทธ๋Ÿฌ๋‚˜ MIME ํ˜ธํ™˜์„ฑ(ํ•„์ž๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Œ)์„ ๋ชฉํ‘œ๋กœ ํ•˜๋ฉฐ ์ธ์ฝ”๋”ฉ์— ์•ฝ๊ฐ„ ๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ ํšจ๊ณผ๋ฅผ ํ‰๊ฐ€ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ SCSU๋ณด๋‹ค ๋†’์„ ๊ฒƒ ๊ฐ™์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฐ€๋Šฅํ•œ ๊ฐœ์„  ์‚ฌํ•ญ

๋‚ด๊ฐ€ ์ œ์‹œํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์„ค๊ณ„์ƒ ๋ณดํŽธ์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค(์•„๋งˆ๋„ ์ด๊ฒƒ์ด ๋‚ด ๋ชฉํ‘œ๊ฐ€ ์œ ๋‹ˆ์ฝ”๋“œ ์ปจ์†Œ์‹œ์—„์˜ ๋ชฉํ‘œ์™€ ๊ฐ€์žฅ ๋งŽ์ด ๋‹ค๋ฅธ ๋ถ€๋ถ„์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค). ๋‚˜๋Š” ์ด๊ฒƒ์ด ์ฃผ๋กœ ํ•˜๋‚˜์˜ ์ž‘์—…(์ ‘๋‘์‚ฌ ํŠธ๋ฆฌ์— ๋‹ค๊ตญ์–ด ์‚ฌ์ „ ์ €์žฅ)์„ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ ๊ทธ ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€๋Š” ๋‹ค๋ฅธ ์ž‘์—…์— ์ ํ•ฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ด๋ฏธ ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ‘œ์ค€์ด ์•„๋‹ˆ๋ผ๋Š” ์ ์€ ์žฅ์ ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”์— ๋งž๊ฒŒ ์‰ฝ๊ฒŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค..

์˜ˆ๋ฅผ ๋“ค์–ด, ์ƒํƒœ์˜ ์กด์žฌ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ์ƒํƒœ ๋น„์ €์žฅ ์ฝ”๋”ฉ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ํ™•์‹คํ•œ ๋ฐฉ๋ฒ•์€ ๋ณ€์ˆ˜๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. offs, auxOffs ะธ is21Bit ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”์—์„œ. ์ด ๊ฒฝ์šฐ ๋™์ผํ•œ ์•ŒํŒŒ๋ฒณ์˜ ๋ฌธ์ž ์‹œํ€€์Šค๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๋ฌถ์„ ์ˆ˜๋Š” ์—†์ง€๋งŒ ์ปจํ…์ŠคํŠธ์— ๊ด€๊ณ„์—†์ด ๋™์ผํ•œ ๋ฌธ์ž๊ฐ€ ํ•ญ์ƒ ๋™์ผํ•œ ๋ฐ”์ดํŠธ๋กœ ์ธ์ฝ”๋”ฉ๋œ๋‹ค๋Š” ๋ณด์žฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๊ธฐ๋ณธ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ํŠน์ • ์–ธ์–ด์— ๋งž๊ฒŒ ์ธ์ฝ”๋”๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋Ÿฌ์‹œ์•„์–ด ํ…์ŠคํŠธ์— ์ดˆ์ ์„ ๋งž์ถ”๊ณ  ์ฒ˜์Œ์— ์ธ์ฝ”๋”์™€ ๋””์ฝ”๋”๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. offs = 0x0400 ะธ auxOffs = 0. ์ด๋Š” ํŠนํžˆ ๋ฌด์ƒํƒœ ๋ชจ๋“œ์˜ ๊ฒฝ์šฐ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋Š” ์ด์ „ XNUMX๋น„ํŠธ ์ธ์ฝ”๋”ฉ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ ํ•„์š”์— ๋”ฐ๋ผ ๋ชจ๋“  ์œ ๋‹ˆ์ฝ”๋“œ์—์„œ ๋ฌธ์ž๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์•ž์„œ ์–ธ๊ธ‰ํ•œ ๋˜ ๋‹ค๋ฅธ ๋‹จ์ ์€ UTF-C๋กœ ์ธ์ฝ”๋”ฉ๋œ ํฐ ํ…์ŠคํŠธ์—์„œ ์ž„์˜ ๋ฐ”์ดํŠธ์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฌธ์ž ๊ฒฝ๊ณ„๋ฅผ ์ฐพ๋Š” ๋น ๋ฅธ ๋ฐฉ๋ฒ•์ด ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ธ์ฝ”๋”ฉ๋œ ๋ฒ„ํผ์—์„œ ๋งˆ์ง€๋ง‰ 100๋ฐ”์ดํŠธ๋ฅผ ์ž˜๋ผ๋‚ด๋ฉด ์•„๋ฌด๊ฒƒ๋„ ํ•  ์ˆ˜ ์—†๋Š” ์“ฐ๋ ˆ๊ธฐ๊ฐ€ ์ƒ๊ธธ ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์ฝ”๋”ฉ์€ ์ˆ˜ ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ ๋กœ๊ทธ๋ฅผ ์ €์žฅํ•˜๋„๋ก ์„ค๊ณ„๋˜์ง€ ์•Š์•˜์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋Š” ์ˆ˜์ •๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”์ดํŠธ 0xBF ์ฒซ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ๋กœ ํ‘œ์‹œ๋˜์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค(๊ทธ๋Ÿฌ๋‚˜ ๋‘ ๋ฒˆ์งธ ๋˜๋Š” ์„ธ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ์ผ ์ˆ˜ ์žˆ์Œ). ๋”ฐ๋ผ์„œ ์ธ์ฝ”๋”ฉ ์‹œ ์‹œํ€€์Šค๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 0xBF 0xBF 0xBF ์˜ˆ๋ฅผ ๋“ค์–ด 10KB๋งˆ๋‹ค - ๊ฒฝ๊ณ„๋ฅผ ์ฐพ์•„์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์œ ์‚ฌํ•œ ๋งˆ์ปค๋ฅผ ์ฐพ์„ ๋•Œ๊นŒ์ง€ ์„ ํƒํ•œ ์กฐ๊ฐ์„ ์Šค์บ”ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์— ์ด์–ด 0xBF ์บ๋ฆญํ„ฐ์˜ ์‹œ์ž‘์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค. (๋””์ฝ”๋”ฉํ•  ๋•Œ ์ด XNUMX๋ฐ”์ดํŠธ ์‹œํ€€์Šค๋Š” ๋ฌผ๋ก  ๋ฌด์‹œ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.)

์ตœ๋Œ€ ํ•ฉ๊ณ„

์—ฌ๊ธฐ๊นŒ์ง€ ์ฝ์œผ์…จ๋‹ค๋ฉด, ์ถ•ํ•˜๋“œ๋ฆฝ๋‹ˆ๋‹ค! ์—ฌ๋Ÿฌ๋ถ„๋„ ์ €์ฒ˜๋Ÿผ ์œ ๋‹ˆ์ฝ”๋“œ ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋ฐฐ์› ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค(๋˜๋Š” ๊ธฐ์–ต์„ ๋˜์‚ด๋ฆฌ์…จ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค).

๋˜ ๋‹ค๋ฅธ ์ž์ „๊ฑฐ: UTF-30๋ณด๋‹ค 60-8% ๋” ์ปดํŒฉํŠธํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
๋ฐ๋ชจ ํŽ˜์ด์ง€. ํžˆ๋ธŒ๋ฆฌ์–ด์˜ ์˜ˆ๋Š” UTF-8๊ณผ SCSU์— ๋น„ํ•ด โ€‹โ€‹์žฅ์ ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์œ„์—์„œ ์„ค๋ช…ํ•œ ์—ฐ๊ตฌ๋Š” ํ‘œ์ค€ ์นจํ•ด๋กœ ๊ฐ„์ฃผ๋˜์–ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ž‘์—… ๊ฒฐ๊ณผ๋Š” ๋Œ€์ฒด์ ์œผ๋กœ ๋งŒ์กฑ์Šค๋Ÿฝ๊ธฐ ๋•Œ๋ฌธ์— ๋งŒ์กฑ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ๊ณต์œ : ์˜ˆ๋ฅผ ๋“ค์–ด, ์ถ•์†Œ๋œ JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฌด๊ฒŒ๋Š” 1710๋ฐ”์ดํŠธ์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค(๋ฌผ๋ก  ์ข…์†์„ฑ์ด ์—†์Šต๋‹ˆ๋‹ค). ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ๊ทธ๋…€์˜ ์ž‘ํ’ˆ์€ ๋‹ค์Œ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ๋ชจ ํŽ˜์ด์ง€ (UTF-8 ๋ฐ SCSU์™€ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ ์„ธํŠธ๋„ ์žˆ์Šต๋‹ˆ๋‹ค).

๋งˆ์ง€๋ง‰์œผ๋กœ UTF-C๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ฃผ๋ชฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋งŒํ•œ ๊ฐ€์น˜๊ฐ€ ์—†๋‹ค.:

  • ์ค„์ด ์ถฉ๋ถ„ํžˆ ๊ธด ๊ฒฝ์šฐ(100-200์ž). ์ด ๊ฒฝ์šฐ deflate์™€ ๊ฐ™์€ ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํ•„์š”ํ•œ ๊ฒฝ์šฐ ASCII ํˆฌ๋ช…์„ฑ์ฆ‰, ์ธ์ฝ”๋”ฉ๋œ ์‹œํ€€์Šค์— ์›๋ž˜ ๋ฌธ์ž์—ด์— ์—†์—ˆ๋˜ ASCII ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ํƒ€์‚ฌ API์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ๋•Œ(์˜ˆ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…) ์ธ์ฝ”๋”ฉ ๊ฒฐ๊ณผ๋ฅผ ๋ฌธ์ž์—ด์ด ์•„๋‹Œ ์ถ”์ƒ ๋ฐ”์ดํŠธ ์ง‘ํ•ฉ์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ํ•„์š”์„ฑ์„ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒํ•  ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž„์˜์˜ ์˜คํ”„์…‹์—์„œ ๋ฌธ์ž ๊ฒฝ๊ณ„๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ(์˜ˆ: ์ค„์˜ ์ผ๋ถ€๊ฐ€ ์†์ƒ๋œ ๊ฒฝ์šฐ) ์ด ์ž‘์—…์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ค„์„ ์Šค์บ”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ๋งŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋˜๋Š” ์ด์ „ ์„น์…˜์—์„œ ์„ค๋ช…ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰).
  • ๋ฌธ์ž์—ด ๋‚ด์šฉ์— ๋Œ€ํ•œ ์ž‘์—…์„ ๋น ๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ(์ •๋ ฌ, ๋ฌธ์ž์—ด์—์„œ ํ•˜์œ„ ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰, ์—ฐ๊ฒฐ) ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋ฌธ์ž์—ด์„ ๋จผ์ € ๋””์ฝ”๋”ฉํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ UTF-C๋Š” UTF-8๋ณด๋‹ค ๋Š๋ฆฝ๋‹ˆ๋‹ค(๊ทธ๋Ÿฌ๋‚˜ ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ณด๋‹ค ๋น ๋ฆ…๋‹ˆ๋‹ค). ๋™์ผํ•œ ๋ฌธ์ž์—ด์€ ํ•ญ์ƒ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์ธ์ฝ”๋”ฉ๋˜๋ฏ€๋กœ ๋””์ฝ”๋”ฉ์˜ ์ •ํ™•ํ•œ ๋น„๊ต๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ : ์‚ฌ์šฉ์ž ํ‹ฐ์š”๋ฏธ์น˜ ์•„๋ž˜ ๋Œ“๊ธ€์— UTF-C์˜ ์ ์šฉ ํ•œ๊ณ„๋ฅผ ๊ฐ•์กฐํ•˜๋Š” ๊ทธ๋ž˜ํ”„๋ฅผ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์••์ถ•๋œ ๋ฌธ์ž์—ด์ด ๋” ์งง๋‹ค๋ฉด UTF-C๊ฐ€ ๋ฒ”์šฉ ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜(LZW์˜ ๋ณ€ํ˜•)๋ณด๋‹ค ๋” ํšจ์œจ์ ์ด๋ผ๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ~140์ž (๊ทธ๋Ÿฌ๋‚˜ ๋น„๊ต๋Š” ํ•˜๋‚˜์˜ ํ…์ŠคํŠธ์—์„œ ์ˆ˜ํ–‰๋˜์—ˆ์œผ๋ฉฐ ๋‹ค๋ฅธ ์–ธ์–ด์˜ ๊ฒฝ์šฐ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).
๋˜ ๋‹ค๋ฅธ ์ž์ „๊ฑฐ: UTF-30๋ณด๋‹ค 60-8% ๋” ์ปดํŒฉํŠธํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€