Linux์˜ ์ •๋ ฌ์ด ๋ฌธ์ž์—ด์„ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•

์†Œ๊ฐœ

๋ชจ๋“  ๊ฒƒ์€ ์ฃผ์†Œ ์ •๋ณด๋ฅผ ๊ฒฐํ•ฉํ•˜๋Š” ์งง์€ ์Šคํฌ๋ฆฝํŠธ๋กœ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ HR ๋ถ€์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์–ป์€ ์ง์› ์ง์œ„์™€ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ ์‚ฌ์šฉ์ž ๋ชฉ๋ก์—์„œ ์–ป์€ ์ง์›. ๋‘ ๋ชฉ๋ก ๋ชจ๋‘ ์œ ๋‹ˆ์ฝ”๋“œ ํ…์ŠคํŠธ ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋‚ด์กŒ์Šต๋‹ˆ๋‹ค. UTF-8 Unix ์ค„ ๋์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

ํ•จ์œ ๋Ÿ‰ ๋ฉ”์ผ.txt

ะ˜ะฒะฐะฝะพะฒ ะะฝะดั€ะตะน;[email protected]

ํ•จ์œ ๋Ÿ‰ buhg.txt

ะ˜ะฒะฐะฝะพะฒะฐ ะะปะปะฐ;ะผะฐะปัั€
ะะปะบะธะฝะฐ ะญะปะปะฐ;ะบั€ะฐะฝะพะฒั‰ะธั†ะฐ
ะ˜ะฒะฐะฝะพะฒ ะะฝะดั€ะตะน;ัะปะตัะฐั€ัŒ
ะะฑะฐะบะฐะฝะพะฒ ะœะธั…ะฐะธะป;ะผะฐะปัั€

๋ณ‘ํ•ฉํ•˜๊ธฐ ์œ„ํ•ด ํŒŒ์ผ์€ Unix ๋ช…๋ น์œผ๋กœ ์ •๋ ฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ข…๋ฅ˜ Unix ํ”„๋กœ๊ทธ๋žจ์˜ ์ž…๋ ฅ์— ์ œ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด์šธ๋ฆฌ๋‹ค, ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.

$> sort buhg.txt > buhg.srt
$> sort mail.txt > mail.srt
$> join buhg.srt mail.srt > result
join: buhg.srt:4: is not sorted: ะ˜ะฒะฐะฝะพะฒ ะะฝะดั€ะตะน;ัะปะตัะฐั€ัŒ

์ •๋ ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ˆˆ์œผ๋กœ ๋ณด๋ฉด ๋Œ€์ฒด์ ์œผ๋กœ ์ •๋ ฌ์ด ๋งž๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์œผ๋‚˜, ๋‚จ์„ฑ๊ณผ ์—ฌ์„ฑ์˜ ์„ฑ์ด ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์—ฌ์„ฑ์˜ ์„ฑ์ด ๋‚จ์„ฑ๋ณด๋‹ค ๋จผ์ € ์˜ต๋‹ˆ๋‹ค.

$> sort buhg.txt
ะะฑะฐะบะฐะฝะพะฒ ะœะธั…ะฐะธะป;ะผะฐะปัั€
ะะปะบะธะฝะฐ ะญะปะปะฐ;ะบั€ะฐะฝะพะฒั‰ะธั†ะฐ
ะ˜ะฒะฐะฝะพะฒะฐ ะะปะปะฐ;ะผะฐะปัั€
ะ˜ะฒะฐะฝะพะฒ ะะฝะดั€ะตะน;ัะปะตัะฐั€ัŒ

์œ ๋‹ˆ์ฝ”๋“œ์˜ ์ •๋ ฌ ๊ฒฐํ•จ์ฒ˜๋Ÿผ ๋ณด์ด๊ฑฐ๋‚˜ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ํŽ˜๋ฏธ๋‹ˆ์ฆ˜์˜ ํ‘œํ˜„์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ฒซ ๋ฒˆ์งธ๊ฐ€ ๋” ๊ทธ๋Ÿด๋“ฏํ•ฉ๋‹ˆ๋‹ค.

์ผ๋‹จ์€ ๋ฏธ๋ฃจ์ž ์–ด์šธ๋ฆฌ๋‹ค ์— ์ง‘์ค‘ํ•˜๊ณ  ์ข…๋ฅ˜. ๊ณผํ•™์ ์ธ ์ฐŒ๋ฅด๊ธฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋ด…์‹œ๋‹ค. ๋จผ์ € ๋กœ์ผ€์ผ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ko ํŽ˜์ด์ง€ ์— ru_RU. ์ •๋ ฌํ•˜๋ ค๋ฉด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. LC_COLLATE, ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๋Š” ์‚ฌ์†Œํ•œ ์ผ์— ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค:

$> LANG=ru_RU.UTF-8 sort buhg.txt
ะะฑะฐะบะฐะฝะพะฒ ะœะธั…ะฐะธะป;ะผะฐะปัั€
ะะปะบะธะฝะฐ ะญะปะปะฐ;ะบั€ะฐะฝะพะฒั‰ะธั†ะฐ
ะ˜ะฒะฐะฝะพะฒะฐ ะะปะปะฐ;ะผะฐะปัั€
ะ˜ะฒะฐะฝะพะฒ ะะฝะดั€ะตะน;ัะปะตัะฐั€ัŒ

์•„๋ฌด๊ฒƒ๋„ ๋ฐ”๋€Œ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

ํŒŒ์ผ์„ ๋‹จ์ผ ๋ฐ”์ดํŠธ ์ธ์ฝ”๋”ฉ์œผ๋กœ ๋‹ค์‹œ ์ฝ”๋”ฉํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

$> iconv -f UTF-8 -t KOI8-R buhg.txt 
 | LANG=ru_RU.KOI8-R sort 
 | iconv -f KOI8-R -t UTF8

์ด๋ฒˆ์—๋„ ์•„๋ฌด๊ฒƒ๋„ ๋ณ€ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์€ ์•„๋ฌด๊ฒƒ๋„ ์—†์Šต๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท์—์„œ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋Ÿฌ์‹œ์•„ ์„ฑ์— ๊ด€ํ•œ ์ง์ ‘์ ์ธ ๋‚ด์šฉ์€ ์—†์ง€๋งŒ ๋‹ค๋ฅธ ๋ถ„๋ฅ˜ ์ด์ƒํ•œ ์ ์— ๋Œ€ํ•œ ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์—ฌ๊ธฐ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค: ์œ ๋‹‰์Šค ์ •๋ ฌ์€ '-'(๋Œ€์‹œ) ๋ฌธ์ž๋ฅผ ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌธ์ž๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.. ์ฆ‰, ๋ฌธ์ž์—ด "ab", "aa", "ac"๋Š” "aa", "ab", "ac"๋กœ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค.

๋Œ€๋‹ต์€ ์–ด๋””์—์„œ๋‚˜ ํ‘œ์ค€์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ ๋กœ์บ˜์„ ์‚ฌ์šฉํ•˜์„ธ์š”. "C" ๊ทธ๋Ÿฌ๋ฉด ๋‹น์‹ ์€ ํ–‰๋ณตํ•ด์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•ด๋ณด์ž:

$> LANG=C sort buhg.txt
ะะปะบะธะฝะฐ ะญะปะปะฐ;ะบั€ะฐะฝะพะฒั‰ะธั†ะฐ
ะะฑะฐะบะฐะฝะพะฒ ะœะธั…ะฐะธะป;ะผะฐะปัั€
ะ˜ะฒะฐะฝะพะฒ ะะฝะดั€ะตะน;ัะปะตัะฐั€ัŒ
ะ˜ะฒะฐะฝะพะฒะฐ ะะปะปะฐ;ะฐะดะฒะพะบะฐั‚

๋ญ”๊ฐ€๊ฐ€ ๋ฐ”๋€Œ์—ˆ์Šต๋‹ˆ๋‹ค. Ivanovs๋Š” ์˜ฌ๋ฐ”๋ฅธ ์ˆœ์„œ๋กœ ์ค„์„ ์„ฐ์ง€ ๋งŒ Yolkina๋Š” ์–ด๋”˜๊ฐ€์— ๋ฏธ๋„๋Ÿฌ์กŒ์Šต๋‹ˆ๋‹ค. ์›๋ž˜ ๋ฌธ์ œ๋กœ ๋Œ์•„๊ฐ€ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

$> LANG=C sort buhg.txt > buhg.srt
$> LANG=C sort mail.txt > mail.srt
$> LANG=C join buhg.srt mail.srt > result

์ธํ„ฐ๋„ท์ด ์•ฝ์†ํ•œ ๋Œ€๋กœ ์˜ค๋ฅ˜ ์—†์ด ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ์ฒซ ๋ฒˆ์งธ ์ค„์˜ Yolkina์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ ์ž…๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋œ ๊ฒƒ ๊ฐ™์ง€๋งŒ ํ˜น์‹œ ๋ชจ๋ฅด๋‹ˆ ๋‹ค๋ฅธ ๋Ÿฌ์‹œ์•„์–ด ์ธ์ฝ”๋”ฉ์„ ์‹œ๋„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. - Windows CP1251:

$> iconv -f UTF-8 -t CP1251 buhg.txt 
 | LANG=ru_RU.CP1251 sort 
 | iconv -f CP1251 -t UTF8 

์ด์ƒํ•˜๊ฒŒ๋„ ์ •๋ ฌ ๊ฒฐ๊ณผ๋Š” ๋กœ์ผ€์ผ๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. "C", ๋”ฐ๋ผ์„œ ์ „์ฒด ์˜ˆ์ œ๋Š” ์˜ค๋ฅ˜ ์—†์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ผ์ข…์˜ ์‹ ๋น„์ฃผ์˜.

๋‚˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์‹ ๋น„์ฃผ์˜๋ฅผ ์ข‹์•„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹ ๋น„์ฃผ์˜๋Š” ๋Œ€๊ฐœ ์‹ค์ˆ˜๋ฅผ ๊ฐ€๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์ง„์ง€ํ•˜๊ฒŒ ์กฐ์‚ฌํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ข…๋ฅ˜ ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๋‚˜์š”? LC_COLLATE .

๋งˆ์ง€๋ง‰์œผ๋กœ ๋‚˜๋Š” ๋‹ค์Œ ์งˆ๋ฌธ์— ๋‹ตํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • ์™œ ์—ฌ์ž ์„ฑ์ด ์ž˜๋ชป ์ •๋ ฌ๋˜์—ˆ๋‚˜์š”?
  • ์ด์œ  LANG=ru_RU.CP1251 ๋™๋“ฑํ•œ ๊ฒƒ์œผ๋กœ ํŒ๋ช…๋˜์—ˆ์Šต๋‹ˆ๋‹ค LAN=C
  • ์™œ ์ด๋ ‡๊ฒŒ ์ข…๋ฅ˜ ะธ ์–ด์šธ๋ฆฌ๋‹ค ์ •๋ ฌ๋œ ๋ฌธ์ž์—ด์˜ ์ˆœ์„œ์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ์ƒ๊ฐ
  • ์™œ ๋ชจ๋“  ์˜ˆ์‹œ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‚˜์š”?
  • ๋งˆ์ง€๋ง‰์œผ๋กœ ์›ํ•˜๋Š” ๋Œ€๋กœ ๋ฌธ์ž์—ด์„ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•

์œ ๋‹ˆ์ฝ”๋“œ๋กœ ์ •๋ ฌ

์ฒซ ๋ฒˆ์งธ ๋ชฉ์ ์ง€๋Š” ๊ธฐ์ˆ  ๋ณด๊ณ ์„œ โ€‹โ€‹10๋ฒˆ์ž…๋‹ˆ๋‹ค. ์œ ๋‹ˆ์ฝ”๋“œ ๋Œ€์กฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์˜จ๋ผ์ธ์œผ๋กœ unicode.org. ๋ณด๊ณ ์„œ์—๋Š” ๊ธฐ์ˆ ์  ์„ธ๋ถ€์‚ฌํ•ญ์ด ๋งŽ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์š” ์•„์ด๋””์–ด๋ฅผ ๊ฐ„๋žตํ•˜๊ฒŒ ์š”์•ฝํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ •๋ ฌ โ€” ๋ฌธ์ž์—ด "๋น„๊ต"๋Š” ๋ชจ๋“  ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ธฐ์ดˆ์ž…๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์ฒด๋Š” ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์ง€๋งŒ("๋ฒ„๋ธ”", "๋ณ‘ํ•ฉ", "๋น ๋ฆ„") ๋ชจ๋‘ ๋ฌธ์ž์—ด ์Œ์˜ ๋น„๊ต๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œ์‹œ๋˜๋Š” ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

์ž์—ฐ์–ด๋กœ ๋ฌธ์ž์—ด์„ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ์€ ์ƒ๋‹นํžˆ ๋ณต์žกํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๋‹จ์ผ ๋ฐ”์ดํŠธ ์ธ์ฝ”๋”ฉ์—์„œ๋„ ์•ŒํŒŒ๋ฒณ ๋ฌธ์ž ์ˆœ์„œ๋Š” ์˜์–ด ๋ผํ‹ด ์•ŒํŒŒ๋ฒณ๊ณผ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ๋“  ๋‹ค๋ฅด๋”๋ผ๋„ ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ์ธ์ฝ”๋”ฉ๋˜๋Š” ์ˆซ์ž ๊ฐ’์˜ ์ˆœ์„œ์™€ ๋” ์ด์ƒ ์ผ์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋…์ผ์–ด ์•ŒํŒŒ๋ฒณ์—์„œ ๋ฌธ์ž๋Š” ร– ์‚ฌ์ด์— ์„œ์žˆ๋‹ค ะž ะธ P, ๊ทธ๋ฆฌ๊ณ  ์ธ์ฝ”๋”ฉ์—์„œ CP850 ๊ทธ๋…€๋Š” ์‚ฌ์ด์— ๋ผ์–ด รฟ ะธ รœ.

ํŠน์ • ์ธ์ฝ”๋”ฉ์„ ์ถ”์ƒํ™”ํ•˜๊ณ  ์œ ๋‹ˆ์ฝ”๋“œ์—์„œ์™€ ๊ฐ™์ด ํŠน์ • ์ˆœ์„œ๋กœ ๋ฐฐ์—ด๋œ "์ด์ƒ์ ์ธ" ๋ฌธ์ž๋ฅผ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์ฝ”๋”ฉ UTF8, UTF16 ๋˜๋Š” XNUMX๋ฐ”์ดํŠธ KOI8-R (์œ ๋‹ˆ์ฝ”๋“œ์˜ ์ œํ•œ๋œ ํ•˜์œ„ ์ง‘ํ•ฉ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ) ๋ฌธ์ž์˜ ๋‹ค๋ฅธ ์ˆซ์ž ํ‘œํ˜„์„ ์ œ๊ณตํ•˜์ง€๋งŒ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์˜ ๋™์ผํ•œ ์š”์†Œ๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

์ฒ˜์Œ๋ถ€ํ„ฐ ๊ธฐํ˜ธ ํ…Œ์ด๋ธ”์„ ๊ตฌ์ถ•ํ•˜๋”๋ผ๋„ ๋ณดํŽธ์ ์ธ ๊ธฐํ˜ธ ์ˆœ์„œ๋ฅผ ์—ฌ๊ธฐ์— ํ• ๋‹นํ•  ์ˆ˜๋Š” ์—†๋‹ค๋Š” ๊ฒƒ์ด ๋ฐํ˜€์กŒ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ๊ตญ๊ฐ€ ์•ŒํŒŒ๋ฒณ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ž์˜ ์ˆœ์„œ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ”„๋ž‘์Šค์–ด์—์„œ๋Š” ร† ํ•ฉ์ž๋กœ ๊ฐ„์ฃผ๋˜์–ด ๋ฌธ์ž์—ด๋กœ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค. AE. ๋…ธ๋ฅด์›จ์ด์–ด ร† ๋ณ„๋„์˜ ํŽธ์ง€๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. Z. ๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ฉ์ž ์™ธ์—๋„ ร† ์—ฌ๋Ÿฌ ๊ธฐํ˜ธ๋กœ ์“ฐ์—ฌ์ง„ ํŽธ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒด์ฝ” ์•ŒํŒŒ๋ฒณ์—๋Š” ๋ฌธ์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค Ch, ์‚ฌ์ด์— ์„œ ์žˆ๋Š” H ะธ I.

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

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

์œ„์— ๋‚˜์—ด๋œ ๊ธฐ๋Šฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์œ ๋‹ˆ์ฝ”๋“œ ํ…Œ์ด๋ธ”์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ ์š”๊ตฌ ์‚ฌํ•ญ์ด ๊ณต์‹ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฌธ์ž์—ด ๋น„๊ต๋Š” ์ฝ”๋“œ ํ…Œ์ด๋ธ”์˜ ๋ฌธ์ž ์œ„์น˜์— ์˜์กดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋‹จ์ผ ๋ฌธ์ž๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฌธ์ž ์‹œํ€€์Šค๋Š” ํ‘œ์ค€ ํ˜•์‹์œผ๋กœ ์ถ•์†Œ๋ฉ๋‹ˆ๋‹ค(A + ์œ„์ชฝ ์›์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ร…);
  • ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•  ๋•Œ ๋ฌธ์ž๋Š” ๋ฌธ์ž์—ด์˜ ๋งฅ๋ฝ์—์„œ ๊ณ ๋ ค๋˜๋ฉฐ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ด์›ƒ ๋ฌธ์ž์™€ ํ•˜๋‚˜์˜ ๋น„๊ต ๋‹จ์œ„๋กœ ๊ฒฐํ•ฉ๋ฉ๋‹ˆ๋‹ค(Ch ์ฒด์ฝ”์–ด๋กœ) ๋˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ๋กœ ๋‚˜๋ˆ„์–ด์ง‘๋‹ˆ๋‹ค(ร† ํ”„๋ž‘์Šค์–ด);
  • ๋ชจ๋“  ๊ตญ๊ฐ€๋ณ„ ๊ธฐ๋Šฅ(์•ŒํŒŒ๋ฒณ, ๋Œ€๋ฌธ์ž/์†Œ๋ฌธ์ž, ๊ตฌ๋‘์ , ์“ฐ๊ธฐ ์œ ํ˜• ์ˆœ์„œ)์€ ์ˆœ์„œ(์ด๋ชจ์ง€) ์ˆ˜๋™ ์ง€์ •๊นŒ์ง€ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋น„๊ต๋Š” ์ •๋ ฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ–‰ ๋ฒ”์œ„ ์ง€์ •({A... z}๋กœ ๋Œ€์ฒด)๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ์œ„์น˜์—์„œ๋„ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์„ธ๊ฒŒ ๋•Œ๋ฆฌ๋‹ค);
  • ๋น„๊ต๋Š” ์ƒ๋‹นํžˆ ๋นจ๋ฆฌ ์ด๋ฃจ์–ด์ ธ์•ผํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ๋ณด๊ณ ์„œ ์ž‘์„ฑ์ž๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋˜๋Š” ๋น„๊ต ์†์„ฑ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณต์‹ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋น„๊ต ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ ์–ธ์–ด์— ๋Œ€ํ•ด ๋ณ„๋„์˜ ๋ฌธ์ž ์ง‘ํ•ฉ์„ ์š”๊ตฌํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค(๋Ÿฌ์‹œ์•„์–ด์™€ ์šฐํฌ๋ผ์ด๋‚˜์–ด๋Š” ๋Œ€๋ถ€๋ถ„์˜ ํ‚ค๋ฆด ๋ฌธ์ž๋ฅผ ๊ณต์œ ํ•จ).
  • ๋น„๊ต ์‹œ ์œ ๋‹ˆ์ฝ”๋“œ ํ…Œ์ด๋ธ”์˜ ๋ฌธ์ž ์ˆœ์„œ์— ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.
  • ๋ฌธ์ž์—ด ๊ฐ€์ค‘์น˜๋Š” ๋ฌธ์ž์—ด์˜ ์†์„ฑ์ด ๋˜์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ๋ฌธํ™”์  ๋งฅ๋ฝ์—์„œ ๋™์ผํ•œ ๋ฌธ์ž์—ด์ด ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
  • ํ–‰ ๊ฐ€์ค‘์น˜๋Š” ๋ณ‘ํ•ฉ ๋˜๋Š” ๋ถ„ํ•  ์‹œ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค( x < y ๊ทธ๊ฑด ๊ทธ์— ๋”ฐ๋ฅด์ง€ ์•Š์•„ xz < yz);
  • ๋™์ผํ•œ ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐ–๋Š” ๋‹ค๋ฅธ ๋ฌธ์ž์—ด์€ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ด€์ ์—์„œ ๋™์ผํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ž์—ด์˜ ์ถ”๊ฐ€ ์ˆœ์„œ๋ฅผ ๋„์ž…ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐ˜๋ณต ์ •๋ ฌ ์ค‘์— ๋™์ผํ•œ ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐ€์ง„ ํ–‰์ด ๋ฐ”๋€” ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฌ๊ณ ์„ฑ์€ ๋ฌธ์ž์—ด ๋น„๊ต ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์†์„ฑ์ด ์•„๋‹ˆ๋ผ ํŠน์ • ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์†์„ฑ์ž…๋‹ˆ๋‹ค(์ด์ „ ๋‹จ๋ฝ ์ฐธ์กฐ).
  • ๋ฌธํ™”์  ์ „ํ†ต์ด ๊ฐœ์„ /๋ณ€ํ™”ํ•จ์— ๋”ฐ๋ผ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์ •๋ ฌ ๊ทœ์น™์ด ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋น„๊ต ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ฒ˜๋ฆฌ๋˜๋Š” ๋ฌธ์ž์—ด์˜ ์˜๋ฏธ์— ๋Œ€ํ•ด ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅธ๋‹ค๊ณ  ๋ช…์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ๋น„๊ตํ•ด์„œ๋Š” ์•ˆ ๋˜๋ฉฐ, ์˜์–ด ์ด๋ฆ„ ๋ชฉ๋ก์—์„œ๋Š” ๊ด€์‚ฌ(๋น„ํ‹€์ฆˆ,).

๋ช…์‹œ๋œ ๋ชจ๋“  ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋‹ค์ค‘ ๋ ˆ๋ฒจ(์‹ค์ œ๋กœ๋Š” XNUMX๋ ˆ๋ฒจ) ํ…Œ์ด๋ธ” ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

๋‹ค์–‘ํ•œ ๊ตญ๊ฐ€ ์ „ํ†ต์— ๋Œ€ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋‹ค์–‘ํ•œ ๊ตฌํ˜„์—์„œ ๊ณ„์ˆ˜ ๊ฐ’์€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์ง€๋งŒ ์œ ๋‹ˆ์ฝ”๋“œ ํ‘œ์ค€์—๋Š” ๊ธฐ๋ณธ ๊ฐ€์ค‘์น˜ ํ…Œ์ด๋ธ”์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. "๊ธฐ๋ณธ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฐ์ดํ„ฐ ์ •๋ ฌ ์š”์†Œ ํ…Œ์ด๋ธ”" (๋“€์…‹). ๋ณ€์ˆ˜ ์„ค์ •์— ์ฃผ๋ชฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค LC_COLLATE ์‹ค์ œ๋กœ ๋ฌธ์ž์—ด ๋น„๊ต ๊ธฐ๋Šฅ์—์„œ ๊ฐ€์ค‘์น˜ ํ…Œ์ด๋ธ” ์„ ํƒ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๊ฐ€์ค‘์น˜ ๊ณ„์ˆ˜ ๋“€์…‹ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ฒซ ๋ฒˆ์งธ ์ˆ˜์ค€์—์„œ๋Š” ๋ชจ๋“  ๋ฌธ์ž๊ฐ€ ๋™์ผํ•œ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ถ•์†Œ๋˜๊ณ  ๋ฐœ์Œ ๊ตฌ๋ณ„ ๋ถ€ํ˜ธ๊ฐ€ ์‚ญ์ œ๋˜๋ฉฐ ๊ตฌ๋‘์ (๋ชจ๋‘๋Š” ์•„๋‹˜)์ด ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.
  • ๋‘ ๋ฒˆ์งธ ์ˆ˜์ค€์—์„œ๋Š” ๋ฐœ์Œ ๊ตฌ๋ณ„ ๋ถ€ํ˜ธ๋งŒ ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค.
  • ์„ธ ๋ฒˆ์งธ ์ˆ˜์ค€์—์„œ๋Š” ๋Œ€์†Œ๋ฌธ์ž๋งŒ ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค.
  • ๋„ค ๋ฒˆ์งธ ์ˆ˜์ค€์—์„œ๋Š” ๊ตฌ๋‘์ ๋งŒ ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค.

๋น„๊ต๋Š” ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ๋จผ์ € ์ฒซ ๋ฒˆ์งธ ์ˆ˜์ค€์˜ ๊ณ„์ˆ˜๊ฐ€ ๋น„๊ต๋ฉ๋‹ˆ๋‹ค. ๊ฐ€์ค‘์น˜๊ฐ€ ์ผ์น˜ํ•˜๋ฉด ๋‘ ๋ฒˆ์งธ ์ˆ˜์ค€ ๊ฐ€์ค‘์น˜์™€์˜ ๋ฐ˜๋ณต ๋น„๊ต๊ฐ€ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์•„๋งˆ๋„ ์„ธ ๋ฒˆ์งธ์™€ ๋„ค ๋ฒˆ์งธ๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ–‰์— ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐ–๋Š” ์ผ์น˜ํ•˜๋Š” ๋น„๊ต ๋‹จ์œ„๊ฐ€ ํฌํ•จ๋˜๋ฉด ๋น„๊ต๊ฐ€ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๋„ค ๊ฐ€์ง€ ์ˆ˜์ค€ ๋ชจ๋‘์—์„œ ๋™์ผํ•œ ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐ–๋Š” ํ–‰์€ ์„œ๋กœ ๋™์ผํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜(๋งŽ์€ ์ถ”๊ฐ€ ๊ธฐ์ˆ  ์„ธ๋ถ€ ์‚ฌํ•ญ ํฌํ•จ)์€ ๋ณด๊ณ ์„œ ๋ฒˆํ˜ธ 10์— ์ด๋ฆ„์„ ๋ถ€์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค. "์œ ๋‹ˆ์ฝ”๋“œ ๋Œ€์กฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜" (ACU).

์—ฌ๊ธฐ์—์„œ ์˜ˆ์ œ์˜ ์ •๋ ฌ ๋™์ž‘์ด ์ข€ ๋” ๋ช…ํ™•ํ•ด์ง‘๋‹ˆ๋‹ค. ์œ ๋‹ˆ์ฝ”๋“œ ํ‘œ์ค€๊ณผ ๋น„๊ตํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ตฌํ˜„์„ ํ…Œ์ŠคํŠธํ•˜๋ ค๋ฉด ACU ํŠน๋ณ„ํ•œ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค ั‚ะตัั‚, ์‚ฌ์šฉ ๊ฐ€์ค‘์น˜ ํŒŒ์ผ, ๊ตฌํ˜„ ๋“€์…‹. scales ํŒŒ์ผ์—์„œ ์˜จ๊ฐ– ์ข…๋ฅ˜์˜ ์žฌ๋ฏธ์žˆ๋Š” ๊ฒƒ๋“ค์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋งˆ์ž‘๊ณผ ์œ ๋Ÿฝ์‹ ๋„๋ฏธ๋…ธ์˜ ์ˆœ์„œ๊ฐ€ ์žˆ๊ณ , ์นด๋“œ ๋ฑ์˜ ๋ฌด๋Šฌ ์ˆœ์„œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค(๊ธฐํ˜ธ). 1F000 ๊ทธ๋ฆฌ๊ณ  ๋”). ์นด๋“œ ์ŠˆํŠธ๋Š” ๋ธŒ๋ฆฌ์ง€ - PCBT ๊ทœ์น™์— ๋”ฐ๋ผ ๋ฐฐ์น˜๋˜๋ฉฐ ์ŠˆํŠธ์˜ ์นด๋“œ๋Š” T, 2,3, XNUMX...K ์ˆœ์„œ๋กœ ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์— ๋”ฐ๋ผ ํ–‰์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ •๋ ฌ๋˜์—ˆ๋Š”์ง€ ์ˆ˜๋™์œผ๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋“€์…‹ ์ƒ๋‹นํžˆ ์ง€๋ฃจํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‹คํ–‰ํžˆ๋„ ์œ ๋‹ˆ์ฝ”๋“œ ์ž‘์—…์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์˜ˆ์‹œ์ ์ธ ๊ตฌํ˜„์ด ์žˆ์Šต๋‹ˆ๋‹ค.์œ ๋‹ˆ์ฝ”๋“œ์šฉ ๊ตญ์ œ ๊ตฌ์„ฑ ์š”์†Œ"(ICU).

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

ะะฑะฐะบะฐะฝะพะฒ ะœะธั…ะฐะธะป;ะผะฐะปัั€
ะะปะบะธะฝะฐ ะญะปะปะฐ;ะบั€ะฐะฝะพะฒั‰ะธั†ะฐ
ะ˜ะฒะฐะฝะพะฒ ะะฝะดั€ะตะน;ัะปะตัะฐั€ัŒ
ะ˜ะฒะฐะฝะพะฒะฐ ะะปะปะฐ;ะฐะดะฒะพะบะฐั‚

์ฐธ๊ณ ๋กœ ํ™ˆํŽ˜์ด์ง€ ICU ๊ตฌ๋‘์ ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋น„๊ต ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ œ์—์„œ๋Š” ๋Œ€์กฐ FAQ ์•„ํฌ์ŠคํŠธ๋กœํ”ผ์™€ ํ•˜์ดํ”ˆ์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

์œ ๋‹ˆ์ฝ”๋“œ๊ฐ€ ๋„์›€์ด ๋˜์—ˆ์ง€๋งŒ ์ด์ƒํ•œ ๋™์ž‘์˜ ์›์ธ์„ ์ฐพ์•„๋ณด์„ธ์š”. ์ข…๋ฅ˜ ะฒ Linux ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ๊ฐ€์•ผ ํ•  ๊ฒƒ์ด๋‹ค.

glibc์—์„œ ์ •๋ ฌ

์œ ํ‹ธ๋ฆฌํ‹ฐ ์†Œ์Šค ์ฝ”๋“œ ๋น ๋ฅด๊ฒŒ ๋ณด๊ธฐ ์ข…๋ฅ˜ ์œผ๋กœ GNU ํ•ต์‹ฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์ž์ฒด์—์„œ ํ˜„์ง€ํ™”๋Š” ๋ณ€์ˆ˜์˜ ํ˜„์žฌ ๊ฐ’์„ ์ธ์‡„ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ท€๊ฒฐ๋ฉ๋‹ˆ๋‹ค. LC_COLLATE ๋””๋ฒ„๊ทธ ๋ชจ๋“œ์—์„œ ์‹คํ–‰ํ•  ๋•Œ:

$ sort --debug buhg.txt > buhg.srt
sort: using โ€˜en_US.UTF8โ€™ sorting rules

๋ฌธ์ž์—ด ๋น„๊ต๋Š” ํ‘œ์ค€ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ŠคํŠธ์ฝœ, ์ด๋Š” ํฅ๋ฏธ๋กœ์šด ๋ชจ๋“  ๊ฒƒ์ด ๋„์„œ๊ด€์— ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. glibc์—.

์— ์œ„ํ‚ค ๊ณ„ํš glibc์— ๋ฌธ์ž์—ด ๋น„๊ต ์ „์šฉ ํ•œ ๋ฌธ๋‹จ. ์ด ๋‹จ๋ฝ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ดํ•ด๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. glibc์— ์ •๋ ฌ์€ ์ด๋ฏธ ์šฐ๋ฆฌ์—๊ฒŒ ์•Œ๋ ค์ง„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ACU (์œ ๋‹ˆ์ฝ”๋“œ ๋Œ€์กฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜) ๋ฐ/๋˜๋Š” ์ด์— ๊ฐ€๊นŒ์šด ํ‘œ์ค€์—์„œ ISO 14651 (๊ตญ์ œ ๋ฌธ์ž์—ด ์ˆœ์„œ ๋ฐ ๋น„๊ต). ์ตœ์‹  ํ‘œ์ค€๊ณผ ๊ด€๋ จํ•˜์—ฌ ์‚ฌ์ดํŠธ์— ๋‚˜์™€ ์žˆ๋Š” ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํ‘œ์ค€.iso.org ISO 14651 ๊ณต์‹์ ์œผ๋กœ ๊ณต๊ฐœ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ์„ ์–ธ๋˜์—ˆ์ง€๋งŒ ํ•ด๋‹น ๋งํฌ๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํŽ˜์ด์ง€๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. Google์€ XNUMX์œ ๋กœ์— ํ‘œ์ค€์˜ ์ „์ž ์‚ฌ๋ณธ์„ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต์‹ ์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ ํฌํ•จ๋œ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•˜์ง€๋งŒ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์˜ ์„ธ ๋ฒˆ์งธ ๋˜๋Š” ๋„ค ๋ฒˆ์งธ ํŽ˜์ด์ง€์—๋Š” ๋‹ค์Œ ํŽ˜์ด์ง€๋กœ ์ง์ ‘ ์—ฐ๊ฒฐ๋˜๋Š” ๋งํฌ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. PDF. ์ผ๋ฐ˜์ ์œผ๋กœ ํ‘œ์ค€์€ ์‹ค์งˆ์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๋‹ค๋ฅด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ACU, ๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ์ž์—ด ์ •๋ ฌ์˜ ๊ตญ๊ฐ€์  ํŠน์ง•์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ์˜ˆ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ฝ๊ธฐ๊ฐ€ ๋” ์ง€๋ฃจํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ์ •๋ณด๋Š” ์œ„ํ‚ค ์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€์žˆ์—ˆ์Šต๋‹ˆ๋‹ค ๋ฒ„๊ทธ ์ถ”์ ๊ธฐ ๋ฌธ์ž์—ด ๋น„๊ต ๊ตฌํ˜„์— ๋Œ€ํ•œ ๋…ผ์˜์™€ ํ•จ๊ป˜ glibc์—. ํ† ๋ก ์„ ํ†ตํ•ด ๋‹ค์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. glibc์— ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ ISO๊ฐœ์ธ ํ…Œ์ด๋ธ” ๊ณตํ†ต ํ…œํ”Œ๋ฆฟ ํ…Œ์ด๋ธ” (CTT), ์ฃผ์†Œ๋Š” ์‹ ์ฒญ์„œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. A ๊ธฐ์ค€ ISO 14651. 2000๋…„์—์„œ 2015๋…„ ์‚ฌ์ด์— ์ด ํ‘œ๋Š” glibc์— ๊ด€๋ฆฌ์ž๊ฐ€ ์—†์—ˆ๊ณ  (์ ์–ด๋„ ์™ธ๋ถ€์ ์œผ๋กœ๋Š”) ํ˜„์žฌ ๋ฒ„์ „์˜ ํ‘œ์ค€๊ณผ ์ƒ๋‹นํžˆ ๋‹ฌ๋ž์Šต๋‹ˆ๋‹ค. 2015๋…„๋ถ€ํ„ฐ 2018๋…„๊นŒ์ง€ ์ƒˆ ๋ฒ„์ „์˜ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ ์‘์ด ์ด๋ฃจ์–ด์กŒ์œผ๋ฉฐ ์ด์ œ ์ƒˆ ๋ฒ„์ „์˜ ํ…Œ์ด๋ธ”์„ ์‹ค๋ฌผ๋กœ ๋งŒ๋‚  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.8 CentOS์—) ๋ฐ ์ด์ „ (7 CentOS์—).

์ด์ œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ณด์กฐ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์–ป์—ˆ์œผ๋ฏ€๋กœ ์›๋ž˜ ๋ฌธ์ œ๋กœ ๋Œ์•„๊ฐ€ ๋Ÿฌ์‹œ์•„์–ด ๋กœ์ผ€์ผ์—์„œ ๋ฌธ์ž์—ด์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ISO 14651 / 14652

์šฐ๋ฆฌ๊ฐ€ ๊ด€์‹ฌ ์žˆ๋Š” ํ…Œ์ด๋ธ”์˜ ์†Œ์Šค ์ฝ”๋“œ CTT ๋Œ€๋ถ€๋ถ„์˜ ๋ฐฐํฌํŒ์—์„œ Linux ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ์Šต๋‹ˆ๋‹ค /usr/share/i18n/locales/. ํ…Œ์ด๋ธ” ์ž์ฒด๊ฐ€ ํŒŒ์ผ์— ์žˆ์Šต๋‹ˆ๋‹ค. iso14651_t1_common. ๋‹ค์Œ์€ ํŒŒ์ผ ์ง€์‹œ์–ด์ž…๋‹ˆ๋‹ค. iso14651_t1_common ๋ณต์‚ฌ ํŒŒ์ผ์— ํฌํ•จ๋จ iso14651_t1, ์ด๋Š” ๋‹ค์Œ์„ ํฌํ•จํ•˜์—ฌ ๊ตญ๊ฐ€ ํŒŒ์ผ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ko ํŽ˜์ด์ง€ ะธ ru_RU. ๋Œ€๋ถ€๋ถ„์˜ ๋ฐฐํฌํŒ์—์„œ Linux ๋ชจ๋“  ์†Œ์Šค ํŒŒ์ผ์€ ๊ธฐ๋ณธ ์„ค์น˜์— ํฌํ•จ๋˜์–ด ์žˆ์ง€๋งŒ, ์—†์œผ๋ฉด ๋ฐฐํฌํŒ์—์„œ ์ถ”๊ฐ€ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ๊ตฌ์กฐ iso14651_t1 ์ด๋ฆ„ ๊ตฌ์„ฑ์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•˜์ง€ ์•Š์€ ๊ทœ์น™์œผ๋กœ ์ธํ•ด ๋งค์šฐ ์žฅํ™ฉํ•ด ๋ณด์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ์‚ดํŽด๋ณด๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์กฐ๋Š” ํ‘œ์ค€์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ISO 14652, ์›น์‚ฌ์ดํŠธ์—์„œ ์‚ฌ๋ณธ์„ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Œ open-std.org. ํŒŒ์ผ ํ˜•์‹์— ๋Œ€ํ•œ ๋˜ ๋‹ค๋ฅธ ์„ค๋ช…์€ ๋‹ค์Œ์—์„œ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช…์„ธ์„œ POSIX ๋ถ€ํ„ฐ ์˜คํ”ˆ๊ทธ๋ฃน. ํ‘œ์ค€์„ ์ฝ๋Š” ๋Œ€์‹  ํ•จ์ˆ˜์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์—ฐ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์กฐ_์ฝ๊ธฐ ะฒ glibc/locale/programs/ld-collate.c.

ํŒŒ์ผ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ํ•ด๋‹น ๋ฌธ์ž๋Š” ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, # ๋ฌธ์ž ๋’ค์˜ ์ค„ ๋์€ ์ฃผ์„์ž…๋‹ˆ๋‹ค. ๋‘ ๊ธฐํ˜ธ ๋ชจ๋‘ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋Š” ์ƒˆ ๋ฒ„์ „์˜ ํ…Œ์ด๋ธ”์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

escape_char /
comment_char %

ํŒŒ์ผ์—๋Š” ๋‹ค์Œ ํ˜•์‹์˜ ํ† ํฐ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋˜๋Š” (์–ด๋”” x - XNUMX์ง„์ˆ˜). ์ด๋Š” ์ธ์ฝ”๋”ฉ์—์„œ ์œ ๋‹ˆ์ฝ”๋“œ ์ฝ”๋“œ ํฌ์ธํŠธ์˜ XNUMX์ง„์ˆ˜ ํ‘œํ˜„์ž…๋‹ˆ๋‹ค. UCS-4 (UTF-32). ๊บพ์‡  ๊ด„ํ˜ธ ์•ˆ์˜ ๋‹ค๋ฅธ ๋ชจ๋“  ์š”์†Œ(ํฌํ•จ) , ๋“ฑ)์€ ๋ฌธ๋งฅ ๋ฐ–์—์„œ๋Š” ๊ฑฐ์˜ ์˜๋ฏธ๊ฐ€ ์—†๋Š” ๋‹จ์ˆœํ•œ ๋ฌธ์ž์—ด ์ƒ์ˆ˜๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

์„  LC_COLLATE ๋‹ค์Œ์œผ๋กœ ๋ฌธ์ž์—ด ๋น„๊ต๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์‹œ์ž‘๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

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

ํ˜„์žฌ ํŒŒ์ผ ๊ฐœ์ •ํŒ์˜ ์„น์…˜ ์ „์ฒด ๊ธธ์ด๋Š” ์•ฝ 900์ค„์ž…๋‹ˆ๋‹ค. ์ด๋ฆ„์˜ ์ž„์˜์„ฑ๊ณผ ์—ฌ๋Ÿฌ ์œ ํ˜•์˜ ๊ตฌ๋ฌธ์„ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ์˜ˆ์ œ๋ฅผ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

LC_COLLATE

collating-symbol <RES-1>
collating-symbol <BLK>
collating-symbol <MIN>
collating-symbol <WIDE>
...
collating-symbol <ARABIC>
collating-symbol <ETHPC>
collating-symbol <OSMANYA>
...
collating-symbol <S1D000>..<S1D35F>
collating-symbol <SFFFF> % Guaranteed largest symbol value. Keep at end of this list
...
collating-element <U0413_0301> from "<U0413><U0301>"
collating-element <U0413_0341> from "<U0413><U0341>"

  • ์กฐํ•ฉ ๊ธฐํ˜ธ ๋ฌธ์ž์—ด์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค ์˜ค์Šค๋งˆ๋ƒ ์ €์šธ ์ด๋ฆ„ํ‘œ์—
  • ์กฐํ•ฉ ๊ธฐํ˜ธ .. ์ ‘๋‘์‚ฌ๋กœ ๊ตฌ์„ฑ๋œ ์ผ๋ จ์˜ ์ด๋ฆ„์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. S ๋ฐ XNUMX์ง„์ˆ˜ ์ˆซ์ž ์ ‘๋ฏธ์‚ฌ 1D000 ์— 1D35F.
  • Ffff ะฒ ์กฐํ•ฉ ๊ธฐํ˜ธ XNUMX์ง„์ˆ˜๋กœ ๋œ ๋ถ€ํ˜ธ ์—†๋Š” ํฐ ์ •์ˆ˜์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ๊ทธ๋ƒฅ ๊ทธ๋ ‡๊ฒŒ ๋ณด์ผ ์ˆ˜๋„ ์žˆ๋Š” ์ด๋ฆ„์ด์—์š”
  • ์ด๋ฆ„ ์ธ์ฝ”๋”ฉ์˜ ์ฝ”๋“œ ํฌ์ธํŠธ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. UCS-4
  • ๋Œ€์กฐ ์š”์†Œ ์—์„œ " " ์œ ๋‹ˆ์ฝ”๋“œ ๋„ํŠธ ์Œ์— ๋Œ€ํ•œ ์ƒˆ ์ด๋ฆ„์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์ค‘์น˜ ์ด๋ฆ„์ด ์ •์˜๋˜๋ฉด ์‹ค์ œ ๊ฐ€์ค‘์น˜๊ฐ€ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ๋น„๊ต์—์„œ๋Š” ๋ณด๋‹ค ํผ ๊ด€๊ณ„๋งŒ ์ค‘์š”ํ•˜๋ฏ€๋กœ ๊ฐ€์ค‘์น˜๋Š” ๋ชฉ๋ก ์ด๋ฆ„์˜ ๊ฐ„๋‹จํ•œ ์ˆœ์„œ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. "๊ฐ€๋ฒผ์šด" ๋ฌด๊ฒŒ๊ฐ€ ๋จผ์ € ๋‚˜์—ด๋˜๊ณ  ๊ทธ ๋‹ค์Œ์—๋Š” "๋ฌด๊ฑฐ์šด" ๋ฌด๊ฒŒ๊ฐ€ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—๋Š” ๋„ค ๊ฐ€์ง€ ๋‹ค๋ฅธ ๊ฐ€์ค‘์น˜๊ฐ€ ํ• ๋‹น๋œ๋‹ค๋Š” ์ ์„ ์ƒ๊ธฐ์‹œ์ผœ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋Š” ๋‹จ์ผ ์ˆœ์„œ๋กœ ๊ฒฐํ•ฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋ก ์ ์œผ๋กœ๋Š” ๋ชจ๋“  ๊ธฐํ˜ธ ์ด๋ฆ„์„ ๋„ค ๊ฐ€์ง€ ์ˆ˜์ค€ ์ค‘ ์–ด๋Š ๊ณณ์—์„œ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ •์‹ ์ ์œผ๋กœ ์ด๋ฆ„์„ ์ˆ˜์ค€๋ณ„๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค๋Š” ์˜๊ฒฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

% Symbolic weight assignments

% Third-level weight assignments
<RES-1>
<BLK>
<MIN>
<WIDE>
...
% Second-level weight assignments
<BASE>
<LOWLINE> % COMBINING LOW LINE
<PSILI> % COMBINING COMMA ABOVE
<DASIA> % COMBINING REVERSED COMMA ABOVE
...
% First-level weight assignments
<S0009> % HORIZONTAL TABULATION 
<S000A> % LINE FEED
<S000B> % VERTICAL TABULATION
...
<S0434> % CYRILLIC SMALL LETTER DE
<S0501> % CYRILLIC SMALL LETTER KOMI DE
<S0452> % CYRILLIC SMALL LETTER DJE
<S0503> % CYRILLIC SMALL LETTER KOMI DJE
<S0453> % CYRILLIC SMALL LETTER GJE
<S0499> % CYRILLIC SMALL LETTER ZE WITH DESCENDER
<S0435> % CYRILLIC SMALL LETTER IE
<S04D7> % CYRILLIC SMALL LETTER IE WITH BREVE
<S0454> % CYRILLIC SMALL LETTER UKRAINIAN IE
<S0436> % CYRILLIC SMALL LETTER ZHE

๋งˆ์ง€๋ง‰์œผ๋กœ ์‹ค์ œ ์ฒด์ค‘ํ‘œ์ž…๋‹ˆ๋‹ค.

๊ฐ€์ค‘์น˜ ์„น์…˜์€ ํ‚ค์›Œ๋“œ ์ค„๋กœ ๋ฌถ์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋ฌธ_์‹œ์ž‘ ะธ ์ฃผ๋ฌธ_๋. ์ถ”๊ฐ€ ์˜ต์…˜ ์ฃผ๋ฌธ_์‹œ์ž‘ ๊ฐ ๋น„๊ต ์ˆ˜์ค€์—์„œ ํ–‰์ด ์Šค์บ”๋˜๋Š” ๋ฐฉํ–ฅ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์„ค์ •์€ ์•ž์œผ๋กœ. ์„น์…˜์˜ ๋ณธ๋ฌธ์€ ๊ธฐํ˜ธ ์ฝ”๋“œ์™€ ํ•ด๋‹น ๋„ค ๊ฐ€์ง€ ๊ฐ€์ค‘์น˜๋ฅผ ํฌํ•จํ•˜๋Š” ์ค„๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž ์ฝ”๋“œ๋Š” ๋ฌธ์ž ์ž์ฒด, ์ฝ”๋“œ ํฌ์ธํŠธ ๋˜๋Š” ์ด์ „์— ์ •์˜๋œ ๊ธฐํ˜ธ ์ด๋ฆ„์œผ๋กœ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์ค‘์น˜๋Š” ๊ธฐํ˜ธ ์ด๋ฆ„, ์ฝ”๋“œ ํฌ์ธํŠธ ๋˜๋Š” ๊ธฐํ˜ธ ์ž์ฒด์— ๋ถ€์—ฌ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ํฌ์ธํŠธ ๋˜๋Š” ๋ฌธ์ž๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ๊ฐ€์ค‘์น˜๋Š” ์ฝ”๋“œ ํฌ์ธํŠธ์˜ ์ˆซ์ž ๊ฐ’(์œ ๋‹ˆ์ฝ”๋“œ ํ…Œ์ด๋ธ”์˜ ์œ„์น˜)๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •๋˜์ง€ ์•Š์€ ๋ฌธ์ž๋Š”(๋‚ด๊ฐ€ ์ดํ•ดํ•œ ๋Œ€๋กœ) ์œ ๋‹ˆ์ฝ”๋“œ ํ…Œ์ด๋ธ”์˜ ์œ„์น˜์™€ ์ผ์น˜ํ•˜๋Š” ๊ธฐ๋ณธ ๊ฐ€์ค‘์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ”์— ํ• ๋‹น๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ํŠน๋ณ„ ์ค‘๋Ÿ‰ ๊ฐ’ ๋ฌด์‹œ ์ด๋Š” ์ ์ ˆํ•œ ๋น„๊ต ์ˆ˜์ค€์—์„œ ๊ธฐํ˜ธ๊ฐ€ ๋ฌด์‹œ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ €์šธ์˜ ๊ตฌ์กฐ๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์ €๋Š” ๋งค์šฐ ๋ถ„๋ช…ํ•œ ์„ธ ๊ฐ€์ง€ ์กฐ๊ฐ์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์™„์ „ํžˆ ๋ฌด์‹œ๋˜๋Š” ๋ฌธ์ž
  • ์ฒ˜์Œ ๋‘ ๋ ˆ๋ฒจ์˜ ์ˆซ์ž XNUMX์— ํ•ด๋‹นํ•˜๋Š” ๊ธฐํ˜ธ
  • ๋ฐœ์Œ ๊ตฌ๋ณ„ ๋ถ€ํ˜ธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ ์ฃผ๋กœ ์ฒซ ๋ฒˆ์งธ์™€ ์„ธ ๋ฒˆ์งธ ์ˆ˜์ค€์œผ๋กœ ์ •๋ ฌ๋˜๋Š” ํ‚ค๋ฆด ๋ฌธ์ž์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

order_start forward;forward;forward;forward,position
<U0000> IGNORE;IGNORE;IGNORE;IGNORE % NULL (in 6429)
<U0001> IGNORE;IGNORE;IGNORE;IGNORE % START OF HEADING (in 6429)
<U0002> IGNORE;IGNORE;IGNORE;IGNORE % START OF TEXT (in 6429)
...
<U0033> <S0033>;<BASE>;<MIN>;<U0033> % DIGIT THREE
<UFF13> <S0033>;<BASE>;<WIDE>;<UFF13> % FULLWIDTH DIGIT THREE
<U2476> <S0033>;<BASE>;<COMPAT>;<U2476> % PARENTHESIZED DIGIT THREE
<U248A> <S0033>;<BASE>;<COMPAT>;<U248A> % DIGIT THREE FULL STOP
<U1D7D1> <S0033>;<BASE>;<FONT>;<U1D7D1> % MATHEMATICAL BOLD DIGIT THREE
...
<U0430> <S0430>;<BASE>;<MIN>;<U0430> % CYRILLIC SMALL LETTER A
<U0410> <S0430>;<BASE>;<CAP>;<U0410> % CYRILLIC CAPITAL LETTER A
<U04D1> <S04D1>;<BASE>;<MIN>;<U04D1> % CYRILLIC SMALL LETTER A WITH BREVE
<U0430_0306> <S04D1>;<BASE>;<MIN>;<U04D1> % CYRILLIC SMALL LETTER A WITH BREVE
...
<U0431> <S0431>;<BASE>;<MIN>;<U0431> % CYRILLIC SMALL LETTER BE
<U0411> <S0431>;<BASE>;<CAP>;<U0411> % CYRILLIC CAPITAL LETTER BE
<U0432> <S0432>;<BASE>;<MIN>;<U0432> % CYRILLIC SMALL LETTER VE
<U0412> <S0432>;<BASE>;<CAP>;<U0412> % CYRILLIC CAPITAL LETTER VE
...
order_end

์ด์ œ ๊ธฐ์‚ฌ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„๋ถ€ํ„ฐ ์˜ˆ์ œ ์ •๋ ฌ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค๋ณต์€ ๊ฐ€์ค‘์น˜ ํ‘œ์˜ ๋‹ค์Œ ๋ถ€๋ถ„์— ์žˆ์Šต๋‹ˆ๋‹ค.

<U0020> IGNORE;IGNORE;IGNORE;<U0020> % SPACE
<U0021> IGNORE;IGNORE;IGNORE;<U0021> % EXCLAMATION MARK
<U0022> IGNORE;IGNORE;IGNORE;<U0022> % QUOTATION MARK
...

์ด ํ‘œ์—์„œ ํ‘œ์˜ ๊ตฌ๋‘์ ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ASCII (๊ณต๋ฐฑ ํฌํ•จ)์€ ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•  ๋•Œ ๊ฑฐ์˜ ํ•ญ์ƒ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. ์œ ์ผํ•œ ์˜ˆ์™ธ๋Š” ์ผ์น˜ํ•˜๋Š” ์œ„์น˜์— ์žˆ๋Š” ๊ตฌ๋‘์ ์„ ์ œ์™ธํ•œ ๋ชจ๋“  ํ•ญ๋ชฉ์—์„œ ์ผ์น˜ํ•˜๋Š” ํ–‰์ž…๋‹ˆ๋‹ค. ๋น„๊ต ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ๋‚ด ์˜ˆ์ œ(์ •๋ ฌ ํ›„)์˜ ํ–‰์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ะะฑะฐะบะฐะฝะพะฒะœะธั…ะฐะธะปะผะฐะปัั€
ะะปะบะธะฝะฐะญะปะปะฐะบั€ะฐะฝะพะฒั‰ะธั†ะฐ
ะ˜ะฒะฐะฝะพะฒะฐะะปะปะฐะผะฐะปัั€
ะ˜ะฒะฐะฝะพะฒะะฝะดั€ะตะนัะปะตัะฐั€ัŒ

์ฒœ์นญํ‘œ์—์„œ ๋Ÿฌ์‹œ์•„์–ด ๋Œ€๋ฌธ์ž๊ฐ€ ์†Œ๋ฌธ์ž ๋’ค์— ์˜ค๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜๋ฉด(์„ธ ๋ฒˆ์งธ ์ˆ˜์ค€์—์„œ) ๋ณด๋‹ค ๋ฌด๊ฑฐ์šด ), ์ •๋ ฌ์ด ์™„์ „ํžˆ ์˜ฌ๋ฐ”๋ฅธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•  ๋•Œ LC_COLLATE=C ๋ฐ”์ดํŠธ๋ณ„ ๋น„๊ต๋ฅผ ์ง€์ •ํ•˜๋Š” ํŠน์ˆ˜ ํ…Œ์ด๋ธ”์ด ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.

static const uint32_t collseqwc[] =
{
  8, 1, 8, 0x0, 0xff,
  /* 1st-level table */
  6 * sizeof (uint32_t),
  /* 2nd-level table */
  7 * sizeof (uint32_t),
  /* 3rd-level table */
  L'x00', L'x01', L'x02', L'x03', L'x04', L'x05', L'x06', L'x07',
  L'x08', L'x09', L'x0a', L'x0b', L'x0c', L'x0d', L'x0e', L'x0f',

...
  L'xf8', L'xf9', L'xfa', L'xfb', L'xfc', L'xfd', L'xfe', L'xff'
};

์œ ๋‹ˆ์ฝ”๋“œ์—์„œ๋Š” ์ฝ”๋“œ ํฌ์ธํŠธ ะ๊ฐ€ A ์•ž์— ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ž์—ด์€ ๊ทธ์— ๋”ฐ๋ผ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค.

ํ…์ŠคํŠธ ๋ฐ ์ด์ง„ ํ…Œ์ด๋ธ”

๋ถ„๋ช…ํžˆ ๋ฌธ์ž์—ด ๋น„๊ต๋Š” ๋งค์šฐ ์ผ๋ฐ˜์ ์ธ ์ž‘์—…์ด๋ฉฐ ํ…Œ์ด๋ธ” ๊ตฌ๋ฌธ ๋ถ„์„์€ CTT ๊ฝค ๋น„์šฉ์ด ๋งŽ์ด ๋“œ๋Š” ์ ˆ์ฐจ์ž…๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹์œผ๋กœ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋ฐํ”„.

ํŒ€ ๋กœ์ปฌ ๋ฐํ”„ ๊ตญ๊ฐ€ ํŠน์„ฑ ํ…Œ์ด๋ธ”์ด ํฌํ•จ๋œ ํŒŒ์ผ์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค(์˜ต์…˜ -i), ๋ชจ๋“  ๋ฌธ์ž๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ๋„ํŠธ๋กœ ํ‘œ์‹œ๋˜๋ฉฐ ์œ ๋‹ˆ์ฝ”๋“œ ๋„ํŠธ์™€ ํŠน์ • ์ธ์ฝ”๋”ฉ ๋ฌธ์ž ๊ฐ„์˜ ๋Œ€์‘ ํŒŒ์ผ(์˜ต์…˜) -f). ์ž‘์—… ๊ฒฐ๊ณผ, ๋งˆ์ง€๋ง‰ ๋งค๊ฐœ๋ณ€์ˆ˜์— ์ง€์ •๋œ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋กœ์ผ€์ผ์— ๋Œ€ํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

๊ธ€๋ฆฌ๋น… "์ „ํ†ต"๊ณผ "ํ˜„๋Œ€"๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ ํ˜•์‹์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ „ํ†ต์ ์ธ ํ˜•์‹์€ ๋กœ์ผ€์ผ ์ด๋ฆ„์ด ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ด๋ฆ„์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. /usr/lib/๋กœ์ผ€์ผ/. ์ด ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์—๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. LC_COLLATE, LC_CTYPE, LC_TIME ๋“ฑ๋“ฑ. ํŒŒ์ผ LC_IDENTIFICATION ๋กœ์ผ€์ผ์˜ ๊ณต์‹ ์ด๋ฆ„(๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ)๊ณผ ์ฃผ์„์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

์ตœ์‹  ํ˜•์‹์—๋Š” ๋ชจ๋“  ๋กœ์ผ€์ผ์„ ๋‹จ์ผ ์•„์นด์ด๋ธŒ์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. /usr/lib/locale/locale-์•„์นด์ด๋ธŒ, ์ด๋Š” ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์˜ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค. glibc์—. ์ตœ์‹  ํ˜•์‹์˜ ๋กœ์ผ€์ผ ์ด๋ฆ„์€ ์ผ๋ถ€ ์ •์‹ํ™”์˜ ๋Œ€์ƒ์ž…๋‹ˆ๋‹ค. ์ธ์ฝ”๋”ฉ ์ด๋ฆ„์—๋Š” ์†Œ๋ฌธ์ž๋กœ ์ถ•์†Œ๋œ ์ˆซ์ž์™€ ๋ฌธ์ž๋งŒ ๋‚จ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ru_RU.KOI8-R, ๋‹ค์Œ ์ด๋ฆ„์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ru_RU.koi8r.

์ž…๋ ฅ ํŒŒ์ผ์€ ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ๋„ ๊ฒ€์ƒ‰๋ฉ๋‹ˆ๋‹ค. /usr/share/i18n/locales/ ะธ /usr/share/i18n/charmaps/ ํŒŒ์ผ์šฉ CTT ๋ฐ ์ธ์ฝ”๋”ฉ ํŒŒ์ผ์ด ๊ฐ๊ฐ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ ๋ช…๋ น์€

localedef -i ru_RU -f MAC-CYRILLIC ru_RU.MAC-CYRILLIC

ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•ฉ๋‹ˆ๋‹ค /usr/share/i18n/locales/ru_RU ์ธ์ฝ”๋”ฉ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ /usr/share/i18n/charmaps/MAC-CYRILLIC.gz ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. /usr/lib/locale/locale-์•„์นด์ด๋ธŒ ์ด๋ฆ„์œผ๋กœ ru_RU.maccyrillic

๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋ฉด LANG = en_US.UTF-8 ั‚ะพ glibc์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ˆœ์„œ๋กœ ๋กœ์ผ€์ผ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.

/usr/lib/locale/locale-archive
/usr/lib/locale/en_US.UTF-8/
/usr/lib/locale/en_US/
/usr/lib/locale/enUTF-8/
/usr/lib/locale/en/

๋กœ์บ˜์ด ์ „ํ†ต์ ์ธ ํ˜•์‹๊ณผ ํ˜„๋Œ€์ ์ธ ํ˜•์‹ ๋ชจ๋‘์— ํ•ด๋‹นํ•˜๋Š” ๊ฒฝ์šฐ ํ˜„๋Œ€์ ์ธ ํ˜•์‹์— ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํŒŒ์ผ๋œ ๋กœ์บ˜ ๋ชฉ๋ก์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ์ผ€์ผ -a.

๋น„๊ตํ‘œ ์ค€๋น„

์ด์ œ ์ด๋Ÿฌํ•œ ์ง€์‹์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž์‹ ๋งŒ์˜ ์ด์ƒ์ ์ธ ๋ฌธ์ž์—ด ๋น„๊ตํ‘œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ‘œ๋Š” ๋ฌธ์ž ะ๋ฅผ ํฌํ•จํ•œ ๋Ÿฌ์‹œ์•„์–ด ๋ฌธ์ž๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๋น„๊ตํ•ด์•ผ ํ•˜๋ฉฐ ๋™์‹œ์— ํ‘œ์— ๋”ฐ๋ผ ๊ตฌ๋‘์ ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ASCII.

์ž์‹ ๋งŒ์˜ ์ •๋ ฌ ํ…Œ์ด๋ธ”์„ ์ค€๋น„ํ•˜๋Š” ๊ณผ์ •์€ ๊ฐ€์ค‘์น˜ ํ…Œ์ด๋ธ”์„ ํŽธ์ง‘ํ•˜๊ณ  ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ง„ ํ˜•์‹์œผ๋กœ ์ปดํŒŒ์ผํ•˜๋Š” ๋‘ ๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋ฐํ”„.

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

์ƒˆ ๋ฒ„์ „์˜ ํŒŒ์ผ์„ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. iso14651_t1_common ะธ ru_RU ์ €์žฅ์†Œ์—์„œ glibc์— ๋‚ด ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ ~/.local/share/i18n/locales/๋กœ ์ด๋™ํ•˜๊ณ  ์„น์…˜์„ ์•ฝ๊ฐ„ ํŽธ์ง‘ํ–ˆ์Šต๋‹ˆ๋‹ค. LC_COLLATE ะฒ ru_RU. ์ƒˆ ๋ฒ„์ „์˜ ํŒŒ์ผ์ด ๋‚ด ๋ฒ„์ „๊ณผ ์™„๋ฒฝํ•˜๊ฒŒ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. glibc์—. ์ด์ „ ๋ฒ„์ „์˜ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๊ธฐํ˜ธ ์ด๋ฆ„๊ณผ ํ…Œ์ด๋ธ”์—์„œ ๊ต์ฒด๊ฐ€ ์‹œ์ž‘๋˜๋Š” ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

LC_COLLATE
% Copy the template from ISO/IEC 14651
copy "iso14651_t1"
reorder-after <U000D>
<U0020> <S0020>;<BASE>;<MIN>;<U0020> % SPACE
<U0021> <S0021>;<BASE>;<MIN>;<U0021> % EXCLAMATION MARK
<U0022> <S0022>;<BASE>;<MIN>;<U0022> % QUOTATION MARK
...
<U007D> <S007D>;<BASE>;<MIN>;<U007D> % RIGHT CURLY BRACKET
<U007E> <S007E>;<BASE>;<MIN>;<U007E> % TILDE
reorder-end
END LC_COLLATE

์‹ค์ œ๋กœ ํ•„๋“œ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. LC_IDENTIFICATION ๋กœ์ผ€์ผ์„ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ru_MY, ๊ทธ๋Ÿฌ๋‚˜ ์ œ ์˜ˆ์—์„œ๋Š” ๋กœ์ผ€์ผ ๊ฒ€์ƒ‰์—์„œ ์•„์นด์ด๋ธŒ๋ฅผ ์ œ์™ธํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์ด ํ•„์š”ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋กœ์ผ€์ผ ์•„์นด์ด๋ธŒ.

๊ทธ ๋กœ์ปฌ ๋ฐํ”„ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ๋‚ด ํด๋”์˜ ํŒŒ์ผ๋กœ ์ž‘์—…ํ–ˆ์Šต๋‹ˆ๋‹ค. I18NPATH ์ž…๋ ฅ ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ ์ €์žฅํ•  ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ์Šฌ๋ž˜์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฝ๋กœ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$> I18NPATH=~/.local/share/i18n localedef -i ru_RU -f UTF-8 ~/.local/lib/locale/ru_MY.UTF-8

POSIX ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ž‘ ์Šฌ๋ž˜์‹œ๋กœ ์‹œ์ž‘ํ•˜์—ฌ ๋กœ์บ˜ ํŒŒ์ผ์ด ์žˆ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ glibc์— ะฒ Linux ๋ชจ๋“  ๊ฒฝ๋กœ๋Š” ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์žฌ์ •์˜๋  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ณธ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค. ์œ„์น˜. ์„ค์น˜ ํ›„ LOCPATH=~/.local/lib/locale/ ํ˜„์ง€ํ™” ๊ด€๋ จ ํŒŒ์ผ์€ ๋ชจ๋‘ ๋‚ด ํด๋”์—์„œ๋งŒ ๊ฒ€์ƒ‰๋ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜ ์„ธํŠธ๊ฐ€ ์žˆ๋Š” ๋กœ์ผ€์ผ ์•„์นด์ด๋ธŒ ์œ„์น˜ ๋ฌด์‹œํ–ˆ๋‹ค.

๊ฒฐ์ •์ ์ธ ํ…Œ์ŠคํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

$> LANG=ru_MY.UTF-8 LOCPATH=~/.local/lib/locale/ sort buhg.txt
ะะฑะฐะบะฐะฝะพะฒ ะœะธั…ะฐะธะป;ะผะฐะปัั€
ะะปะบะธะฝะฐ ะญะปะปะฐ;ะบั€ะฐะฝะพะฒั‰ะธั†ะฐ
ะ˜ะฒะฐะฝะพะฒ ะะฝะดั€ะตะน;ัะปะตัะฐั€ัŒ
ะ˜ะฒะฐะฝะพะฒะฐ ะะปะปะฐ;ะฐะดะฒะพะบะฐั‚

๋งŒ์„ธ! ์šฐ๋ฆฌ๋Š” ํ•ด๋ƒˆ๋‹ค!

์ผ๋ถ€ ์˜ค๋ฅ˜

์ฒ˜์Œ์— ์ œ๊ธฐ๋œ ๋ฌธ์ž์—ด ์ •๋ ฌ์— ๋Œ€ํ•œ ์งˆ๋ฌธ์— ์ด๋ฏธ ๋‹ต๋ณ€ํ–ˆ์ง€๋งŒ ํ‘œ์‹œ๋˜๋Š” ์˜ค๋ฅ˜์™€ ๋ณด์ด์ง€ ์•Š๋Š” ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์งˆ๋ฌธ์ด ์—ฌ์ „ํžˆ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

์›๋ž˜ ๋ฌธ์ œ๋กœ ๋Œ์•„๊ฐ€ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฅ˜ ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ๊ทธ๋žจ ์–ด์šธ๋ฆฌ๋‹ค ๋™์ผํ•œ ๋ฌธ์ž์—ด ๋น„๊ต ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. glibc์—. ์–ด์ฉŒ๋‹ค ๊ทธ๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚œ ๊ฑธ๊นŒ ์–ด์šธ๋ฆฌ๋‹ค ๋ช…๋ น์œผ๋กœ ์ •๋ ฌ๋œ ํ–‰์— ์ •๋ ฌ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ข…๋ฅ˜ ๋กœ์ผ€์ผ์—์„œ ko_US.UTF-8? ๋Œ€๋‹ต์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ข…๋ฅ˜ ์ „์ฒด ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•˜๊ณ  ์–ด์šธ๋ฆฌ๋‹ค ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฒซ ๋ฒˆ์งธ ๊ณต๋ฐฑ ๋ฌธ์ž๊นŒ์ง€ ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘์ธ ํ‚ค๋งŒ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์˜ˆ์—์„œ๋Š” ์ค„์˜ ์ฒซ ๋ฒˆ์งธ ๋‹จ์–ด ์ •๋ ฌ์ด ์ „์ฒด ์ค„์˜ ์ •๋ ฌ๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

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

$> sort -t ; -k 1 buhg.txt > buhg.srt
$> sort -t ; -k 1 mail.txt > mail.srt
$> join -t ; buhg.srt mail.srt > result

์ธ์ฝ”๋”ฉ์—์„œ ์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰๋œ ์˜ˆ CP1251 ๋‹ค๋ฅธ ์˜ค๋ฅ˜๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค์€ ๋‚˜์—๊ฒŒ ์•Œ๋ ค์ง„ ๋ชจ๋“  ๋ฐฐํฌํŒ์—์„œ Linux ํŒจํ‚ค์ง€์— ์ปดํŒŒ์ผ๋œ ๋กœ์บ˜์ด ์—†์Šต๋‹ˆ๋‹ค. ru_RU.CP1251. ์ปดํŒŒ์ผ๋œ ๋กœ์บ˜์„ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ์ข…๋ฅ˜ ์šฐ๋ฆฌ๊ฐ€ ๊ด€์ฐฐํ•œ ๋Œ€๋กœ ๋ฐ”์ดํŠธ๋ณ„ ๋น„๊ต๋ฅผ ์ž๋™์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ์ปดํŒŒ์ผ๋œ ๋กœ์บ˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ๋˜ ๋‹ค๋ฅธ ์ž‘์€ ๊ฒฐํ•จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŒ€ LOCPATH=/tmp ๋กœ์ผ€์ผ -a ๋ชจ๋“  ๋กœ์ผ€์ผ ๋ชฉ๋ก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค ๋กœ์ผ€์ผ ์•„์นด์ด๋ธŒ, ๊ทธ๋Ÿฌ๋‚˜ ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋œ ๊ฒฝ์šฐ ์œ„์น˜ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•ด(๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋žจ ํฌํ•จ) ์žฅ์†Œ) ์ด๋Ÿฌํ•œ ๋กœ์ผ€์ผ์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

$> LOCPATH=/tmp locale -a | grep en_US
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8

$> LC_COLLATE=en_US.UTF-8 sort --debug
sort: using โ€˜en_US.UTF-8โ€™ sorting rules

$> LOCPATH=/tmp LC_COLLATE=en_US.UTF-8 sort --debug
sort: using simple byte comparison

๊ฒฐ๋ก 

๋ฌธ์ž์—ด์ด ๋ฐ”์ดํŠธ ์ง‘ํ•ฉ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋ฐ ์ต์ˆ™ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ผ๋ฉด ๋‹ค์Œ์„ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค. LC_COLLATE=C.

๋‹น์‹ ์ด ์–ธ์–ดํ•™์ž์ด๊ฑฐ๋‚˜ ์‚ฌ์ „ ์ปดํŒŒ์ผ๋Ÿฌ๋ผ๋ฉด, ๋‹น์‹ ์˜ ๋กœ์ผ€์ผ๋กœ ์ปดํŒŒ์ผํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค.

๋‹จ์ˆœํ•œ ์‚ฌ์šฉ์ž๋ผ๋ฉด ๋ช…๋ น์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋Š” ์‚ฌ์‹ค์— ์ต์ˆ™ํ•ด์ง€๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ls -a ์ ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ํŒŒ์ผ๊ณผ ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋Š” ํŒŒ์ผ์ด ํ˜ผํ•ฉ๋˜์–ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ์ž์ • ์‚ฌ๋ น๊ด€๋‚ด๋ถ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฆ„์„ ์ •๋ ฌํ•˜๋Š” ๋Š” ์ ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ํŒŒ์ผ์„ ๋ชฉ๋ก์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์— ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ์กฐ

๋ณด๊ณ ์„œ 10ํ˜ธ ์œ ๋‹ˆ์ฝ”๋“œ ๋Œ€์กฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜

unicode.org์˜ ๋ฌธ์ž ๊ฐ€์ค‘์น˜

ICU โ€” IBM์˜ ์œ ๋‹ˆ์ฝ”๋“œ ์ž‘์—…์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตฌํ˜„.

๋‹ค์Œ์„ ์ด์šฉํ•œ ์ •๋ ฌ ํ…Œ์ŠคํŠธ ICU

์บ๋ฆญํ„ฐ ๊ฐ€์ค‘์น˜ ISO 14651

์ถ•์ฒ™์ด ์žˆ๋Š” ํŒŒ์ผ ํ˜•์‹์— ๋Œ€ํ•œ ์„ค๋ช… ISO 14652

๋ฌธ์ž์—ด ๋น„๊ต์— ๋Œ€ํ•œ ํ† ๋ก  glibc์—

์ถœ์ฒ˜ : habr.com

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