เบงเบดเบ—เบตเบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡เบ‚เบญเบ‡ Linux เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เบชเบฐเบ•เบฃเบดเบ‡

เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต

เบกเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ script เบชเบฑเป‰เบ™เบ—เบตเปˆเบ„เบฒเบ”เบงเปˆเบฒเบˆเบฐเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบขเบนเปˆ เบญเบตเป€เบกเบฅเปŒ เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบœเบนเป‰เบ™เปเบฒเปƒเบŠเป‰เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ—เบฒเบ‡เป„เบ›เบชเบฐเบ™เบต, เบกเบตเบ•เปเบฒเปเบซเบ™เปˆเบ‡เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบžเบฐเปเบ™เบ HR. เบ—เบฑเบ‡เบชเบญเบ‡เบฅเบฒเบเบเบฒเบ™เป„เบ”เป‰เบ–เบทเบเบชเบปเปˆเบ‡เบญเบญเบเป„เบ›เบเบฑเบ‡เป„เบŸเบฅเปŒเบ‚เปเป‰เบ„เบงเบฒเบก Unicode UTF-8 เปเบฅเบฐเบšเบฑเบ™เบ—เบถเบเบ”เป‰เบงเบเบเบฒเบ™เบชเบดเป‰เบ™เบชเบธเบ”เป€เบชเบฑเป‰เบ™ Unix.

เป€เบ™เบทเป‰เบญเบซเบฒ mail.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
ะะฑะฐะบะฐะฝะพะฒ ะœะธั…ะฐะธะป;ะผะฐะปัั€
ะะปะบะธะฝะฐ ะญะปะปะฐ;ะบั€ะฐะฝะพะฒั‰ะธั†ะฐ
ะ˜ะฒะฐะฝะพะฒะฐ ะะปะปะฐ;ะผะฐะปัั€
ะ˜ะฒะฐะฝะพะฒ ะะฝะดั€ะตะน;ัะปะตัะฐั€ัŒ

เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบกเบตเบ„เบงเบฒเบกเบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบดเปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡เปƒเบ™ Unicode เบซเบผเบทเบ„เบทเบเบฑเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ‚เบญเบ‡เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบœเบนเป‰เบเบดเบ‡เปƒเบ™เบฅเบฐเบšเบปเบšเบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡. เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™, เปเบ™เปˆเบ™เบญเบ™, เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบซเบผเบฒเบ.

เบ›เปˆเบญเบเปƒเบซเป‰เบกเบฑเบ™เป„เบ›เปƒเบ™เบ•เบญเบ™เบ™เบตเป‰ เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก เปเบฅเบฐเบชเบธเบกเปƒเบชเปˆ เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡. เปƒเบซเป‰เบžเบฐเบเบฒเบเบฒเบกเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเป‚เบ”เบเปƒเบŠเป‰ poking เบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”. เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เปƒเบซเป‰เบ›เปˆเบฝเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบˆเบฒเบ เปƒเบ™เบชเบฐเบซเบฐเบฅเบฑเบ” เบชเบธเบ” ru_RU. เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบฎเบฝเบ‡, เบกเบฑเบ™เบˆเบฐเบžเบฝเบ‡เบžเปเบ—เบตเปˆเบˆเบฐเบเปเบฒเบ™เบปเบ”เบ•เบปเบงเปเบ›เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก LC_COLLATE, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเป€เบชเบเป€เบงเบฅเบฒเบเบฑเบš trifles:

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

เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ›เปˆเบฝเบ™เปเบ›เบ‡.

เปƒเบซเป‰เบžเบฐเบเบฒเบเบฒเบก recode เป„เบŸเบฅเปŒเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ”เบฝเบง byte:

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

เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ›เปˆเบฝเบ™เปเบ›เบ‡.

เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰, เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบŠเบญเบเบซเบฒเบงเบดเบ—เบตเปเบเป‰เป„เบ‚เปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”. เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เป‚เบ”เบเบเบปเบ‡เบเปˆเบฝเบงเบเบฑเบšเบ™เบฒเบกเบชเบฐเบเบธเบ™เบžเบฒเบชเบฒเบฅเบฑเบ”เป€เบŠเบ, เปเบ•เปˆเบกเบตเบ„เปเบฒเบ–เบฒเบกเบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเปเบ›เบเบ›เบฐเบซเบฅเบฒเบ”เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เบญเบทเปˆเบ™เป†. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ™เบตเป‰เปเบกเปˆเบ™เบšเบฑเบ™เบซเบฒ: unix sort เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เปเปˆ '-' (dash) เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเป€เบšเบดเปˆเบ‡เบšเปเปˆเป€เบซเบฑเบ™. เปƒเบ™เบชเบฑเป‰เบ™, เบชเบฒเบ "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 

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡, oddly เบžเบฝเบ‡เบžเป, เบˆเบฐ coincide เบเบฑเบšเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ "C", เปเบฅเบฐเบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”, เบ•เบฒเบกเบ„เบงเบฒเบกเป€เบซเบกเบฒเบฐเบชเบปเบก, เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”. เบšเบฒเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡ mysticism.

เบ‚เป‰เบญเบเบšเปเปˆเบกเบฑเบ mysticism เปƒเบ™เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เบกเบฑเบเบˆเบฐเบ›เบดเบ”เบšเบฑเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ•เป‰เบญเบ‡เป„เบ”เป‰เป€เบšเบดเปˆเบ‡เบขเปˆเบฒเบ‡เบˆเบดเบ‡เบˆเบฑเบ‡เบงเปˆเบฒเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบ™เบงเปƒเบ”. เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡ เปเบฅเบฐเบกเบฑเบ™เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเปเบ™เบงเปƒเบ”? LC_COLLATE .

เปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เป‰เบญเบเบˆเบฐเบžเบฐเบเบฒเบเบฒเบกเบ•เบญเบšเบ„เปเบฒเบ–เบฒเบก:

  • เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ™เบฒเบกเบชเบฐเบเบธเบ™เบœเบนเป‰เบเบดเบ‡เบˆเบถเปˆเบ‡เบ–เบทเบเบˆเบฑเบ”เบฎเบฝเบ‡เบœเบดเบ”?
  • เป€เบ›เบฑเบ™เบซเบเบฑเบ‡ LANG=ru_RU.CP1251 เบซเบฑเบ™เบญเบญเบเปƒเบซเป‰เบ—เบฝเบšเป€เบ—เบปเปˆเบฒ LANG=C
  • เป€เบ›เบฑเบ™เบซเบเบฑเบ‡? เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡ ะธ เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบเปˆเบฝเบงเบเบฑเบšเบฅเปเบฒเบ”เบฑเบšเบ‚เบญเบ‡เบชเบฒเบเบ„เบฑเบ”
  • เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบตเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบ—เบธเบเบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบ‚เป‰เบญเบ?
  • เบชเบธเบ”โ€‹เบ—เป‰เบฒเบโ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹เบˆเบฑเบ”โ€‹เบฅเบฝเบ‡โ€‹เบชเบฒเบโ€‹เบ•เบฒเบกโ€‹เบ„เบงเบฒเบกโ€‹เบกเบฑเบโ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹

เบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡เปƒเบ™ Unicode

เบเบฒเบ™เบขเบธเบ”เป€เบŠเบปเบฒเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เบˆเบฐเป€เบ›เบฑเบ™เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™ No 10 เบชเบดเบ” เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ‚เบญเบ‡ Unicode เบญเบญเบ™เป„เบฅเบ™เปŒ unicode.org. เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ›เบฐเบเบญเบšเบกเบตเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™เบซเบผเบฒเบ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ‚เปเบชเบฐเบซเบผเบธเบšเบชเบฑเป‰เบ™เป†เบเปˆเบฝเบงเบเบฑเบšเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ•เบปเป‰เบ™เบ•เป.

เบเบฒเบ™เบฅเบฝเบ‡เบฅเปเบฒเบ”เบฑเบš โ€” โ€œเบเบฒเบ™โ€‹เบชเบปเบกโ€‹เบ—เบฝเบšโ€ เบŠเปˆเบญเบโ€‹เปเบ™เปˆโ€‹เปเบกเปˆเบ™โ€‹เบžเบทเป‰เบ™โ€‹เบ–เบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹เบˆเบฑเบ”โ€‹เบฅเบฝเบ‡โ€‹เบฅเปเบฒโ€‹เบ”เบฑเบšโ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹. เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบญเบฒเบ”เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™ ("เบŸเบญเบ‡", "เบฅเบงเบก", "เป„เบง"), เปเบ•เปˆเบžเบงเบเป€เบ‚เบปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเปƒเบŠเป‰เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ„เบนเปˆเบ‚เบญเบ‡เบชเบฒเบเบชเบฐเบ•เบดเบ‡เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบฅเปเบฒเบ”เบฑเบšเบ—เบตเปˆเบ›เบฒเบเบปเบ”.

เบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡เบชเบฒเบเปƒเบ™เบžเบฒเบชเบฒเบ—เปเบฒเบกเบฐเบŠเบฒเบ”เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบžเปเบชเบปเบกเบ„เบงเบ™. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบขเบนเปˆเปƒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ”เบฝเบงเป„เบšเบ•เปŒเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบชเบธเบ”, เบฅเปเบฒเบ”เบฑเบšเบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปƒเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเปƒเบ™เบšเบฒเบ‡เบ—เบฒเบ‡เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบฅเบฒเบ•เบดเบ™เบžเบฒเบชเบฒเบญเบฑเบ‡เบเบดเบ”, เบˆเบฐเบšเปเปˆเบเบปเบ‡เบเบฑเบ™เบเบฑเบšเบฅเปเบฒเบ”เบฑเบšเบ‚เบญเบ‡เบ„เปˆเบฒเบ•เบปเบงเป€เบฅเบเบ—เบตเปˆเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ–เบทเบเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เปƒเบ™เบซเบ™เบฑเบ‡เบชเบทเป€เบเบเบฅเบฐเบกเบฑเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ ร– เบขเบทเบ™เบขเบนเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡ ะž ะธ P, เปเบฅเบฐโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เบฅเบฐโ€‹เบซเบฑเบ”โ€‹ CP850 เบ™เบฒเบ‡เป„เบ”เป‰เบฎเบฑเบšเบฅเบฐเบซเบงเปˆเบฒเบ‡ รฟ ะธ รœ.

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบžเบฐเบเบฒเบเบฒเบกเบšเปเปˆเบกเบตเบ•เบปเบงเบ•เบปเบ™เบˆเบฒเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบชเบฐเป€เบžเบฒเบฐเปเบฅเบฐเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ "เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก" เบ—เบตเปˆเบˆเบฑเบ”เบฅเบฝเบ‡เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบ™ Unicode. เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ” UTF8, UTF16 เบซเบผเบท one-byte KOI8-R (เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบˆเปเบฒโ€‹เบเบฑเบ” subset เบ‚เบญเบ‡ Unicode เปเบกเปˆเบ™โ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹) เบˆเบฐโ€‹เปƒเบซเป‰โ€‹เบ•เบปเบงโ€‹เปเบ—เบ™โ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ—เบตเปˆโ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบเบฑเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹, เปเบ•เปˆโ€‹เปƒเบซเป‰โ€‹เป€เบšเบดเปˆเบ‡โ€‹เบญเบปเบ‡โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ•เบฒโ€‹เบ•เบฐโ€‹เบฅเบฒเบ‡โ€‹เบ–เบฒเบ™โ€‹.

เบกเบฑเบ™ turns เปƒเบซเป‰ เป€เบซเบฑเบ™ เบงเปˆเบฒ เบ–เป‰เบฒ เบซเบฒเบ เบงเปˆเบฒ เบžเบงเบ เป€เบฎเบปเบฒ เบชเป‰เบฒเบ‡ เบ•เบฒ เบ•เบฐ เบฅเบฒเบ‡ เบชเบฑเบ™ เบเบฒ เบฅเบฑเบ เบˆเบฒเบ scratch , เบžเบงเบ เป€เบฎเบปเบฒ เบˆเบฐ เบšเปเปˆ เบชเบฒ เบกเบฒเบ” เบ—เบตเปˆ เบˆเบฐ เบกเบญเบš เบซเบกเบฒเบ เบ„เปเบฒ เบชเบฑเปˆเบ‡ เบชเบฑเบ™ เบเบฒ เบฅเบฑเบ เบ—เบปเปˆเบง เป„เบ› เบเบฑเบš เบกเบฑเบ™ . เปƒเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปเบซเปˆเบ‡เบŠเบฒเบ”เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ—เบตเปˆเปƒเบŠเป‰เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ”เบฝเบงเบเบฑเบ™, เบฅเปเบฒเบ”เบฑเบšเบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™เบžเบฒเบชเบฒเบเบฃเบฑเปˆเบ‡ ร† เบˆเบฐเบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป€เบ›เบฑเบ™เบชเบฒเบเบžเบฑเบ™ เปเบฅเบฐเบˆเบฑเบ”เบฎเบฝเบ‡เป€เบ›เบฑเบ™เบชเบฒเบ AE. เปƒเบ™เบ™เปเป€เบง ร† เบˆเบฐเป€เบ›เบฑเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เป€เบŠเบดเปˆเบ‡เบ•เบฑเป‰เบ‡เบขเบนเปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ Z. เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เบ™เบญเบเป€เบซเบ™เบทเบญเป„เบ›เบˆเบฒเบ ligatures เบ„เบท ร† เบกเบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบ‚เบฝเบ™เบ”เป‰เบงเบเบชเบฑเบ™เบเบฒเบฅเบฑเบเบซเบผเบฒเบเบขเปˆเบฒเบ‡. เบชเบฐเบ™เบฑเป‰เบ™เปƒเบ™เบžเบฒเบชเบฒเป€เบŠเบฑเบเป‚เบเบกเบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ Ch, เป€เบŠเบดเปˆเบ‡เบขเบทเบ™เบขเบนเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡ H ะธ I.

เบ™เบญเบ เป€เปœเบทเบญ เป„เบ›เบˆเบฒเบเบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ‚เบญเบ‡เบ•เบปเบง เปœเบฑเบ‡ เบชเบท, เบเบฑเบ‡เบกเบตเบ›เบฐเป€เบžเบ™เบตเปเบซเปˆเบ‡เบŠเบฒเบ”เบญเบทเปˆเบ™เป†เบ—เบตเปˆเบกเบตเบญเบดเบ”เบ—เบดเบžเบปเบ™เบ•เปเปˆเบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™: เบ„เปเบฒเบ—เบตเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบ•เบปเบงเบžเบดเบกเปƒเบซเบเปˆเปเบฅเบฐเบ•เบปเบงเบžเบดเบกเบ™เป‰เบญเบเบ„เบงเบ™เบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบงเบฑเบ”เบˆเบฐเบ™เบฒเบ™เบธเบเบปเบกเปเบ™เบงเปƒเบ”? เบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡เบญเบฒเบ”เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบšเบˆเบฒเบเบเบฒเบ™เปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบงเบฑเบเบ•เบญเบ™. เปƒเบ™เปเบญเบชเบ›เบฒเป‚เบเบ™, เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบ›เบตเป‰เบ™เบเบฑเบšเปเบกเปˆเบ™เปƒเบŠเป‰เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบ›เบฐเป‚เบซเบเบเบ•เบญเบšเบ„เปเบฒเบ–เบฒเบก (เป€เบˆเบปเป‰เบฒเบกเบฑเบเบ”เบปเบ™เบ•เบตเบšเป?). เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเบ›เบฐเป‚เบซเบเบเบชเปเบฒเบžเบฒเบ”เบšเปเปˆเบ„เบงเบ™เบ–เบทเบเบˆเบฑเบ”เป€เบ›เบฑเบ™เบเบธเปˆเบกเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบขเบนเปˆเบ™เบญเบเบ•เบปเบงเบซเบ™เบฑเบ‡เบชเบท, เปเบ•เปˆเบงเบดเบ—เบตเบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เปเบ–เบงเบ”เป‰เบงเบเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเบงเบฑเบเบ•เบญเบ™เบญเบทเปˆเบ™เป†?

เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบˆเบฐโ€‹เบšเปเปˆโ€‹เบขเบนเปˆโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบˆเบฑเบ”โ€‹เบฅเบฝเบ‡โ€‹เบชเบฒเบโ€‹เปƒเบ™โ€‹เบžเบฒโ€‹เบชเบฒโ€‹เบ—เบตเปˆโ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบเบฑเบ™โ€‹เบซเบผเบฒเบโ€‹เบˆเบฒเบโ€‹เบ›เบฐโ€‹เป€เบ—เบ”โ€‹เป€เบญเบตโ€‹เบฃเบปเบšโ€‹. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเปƒเบ™เบžเบฒเบชเบฒเบ—เบตเปˆเบกเบตเบ—เบดเบ”เบ—เบฒเบ‡เบเบฒเบ™เบ‚เบฝเบ™เบˆเบฒเบเบ‚เบงเบฒเบซเบฒเบŠเป‰เบฒเบเบซเบผเบทเป€เบ—เบดเบ‡เบซเบฒเบฅเบธเปˆเบก, เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปƒเบ™เปเบ–เบงเบกเบฑเบเบˆเบฐเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบฅเปเบฒเบ”เบฑเบšเบเบฒเบ™เบญเปˆเบฒเบ™, เปเบฅเบฐเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ‚เบฝเบ™เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบ•เบปเบงเบซเบ™เบฑเบ‡เบชเบทเบเปเปˆเบกเบตเบงเบดเบ—เบตเบเบฒเบ™เบˆเบฑเบ”เบฅเปเบฒเบ”เบฑเบšเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ•เบฒเบกเบ•เบปเบงเบญเบฑเบเบชเบญเบ™. . เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, hieroglyphs เบชเบฒเบกเบฒเบ”เบ–เบทเบเบˆเบฑเบ”เบฅเปเบฒเบ”เบฑเบšเบ•เบฒเบกเปเบšเบš (เบเบฐเปเบˆเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบˆเบตเบ™) เบซเบผเบทเป‚เบ”เบเบเบฒเบ™เบญเบญเบเบชเบฝเบ‡. เบ”เป‰เบงเบเบ„เบงเบฒเบกเบŠเบทเปˆเบชเบฑเบ”, เบ‚เป‰เบญเบเบšเปเปˆเบฎเบนเป‰เบงเปˆเบฒ emojis เบ„เบงเบ™เบ–เบทเบเบˆเบฑเบ”เบฅเบฝเบ‡เปเบ™เบงเปƒเบ”, เปเบ•เปˆเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบกเบฒเบเบฑเบšเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒเป€เบŠเบฑเปˆเบ™เบเบฑเบ™.

เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Unicode เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™:

  • เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡เบšเปเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเบ•เบณเปเปœเปˆเบ‡เบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบฅเบฐเบซเบฑเบ”;
  • เบฅเปเบฒเบ”เบฑเบšเบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบ›เบฐเบเบญเบšเป€เบ›เบฑเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ”เบฝเบงเป„เบ”เป‰เบ–เบทเบเบซเบผเบธเบ”เบฅเบปเบ‡เป€เบ›เบฑเบ™เบฎเบนเบšเปเบšเบš canonical (A + เบงเบปเบ‡โ€‹เบกเบปเบ™โ€‹เป€เบ—เบดเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹เบเบฑเบšโ€‹ ร…);
  • เป€เบกเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡, เบ•เบปเบงเบฅเบฐเบ„เบญเบ™เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเปƒเบ™เบšเปเบฅเบดเบšเบปเบ”เบ‚เบญเบ‡เบชเบฐเบ•เบฃเบดเบ‡เปเบฅเบฐ, เบ–เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™, เบชเบปเบกเบ—เบปเบšเบเบฑเบšเป€เบžเบทเปˆเบญเบ™เบšเป‰เบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบซเบ™เบถเปˆเบ‡เบซเบ™เปˆเบงเบเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš (Ch เปƒเบ™เบžเบฒเบชเบฒเป€เบŠเบฑเบเป‚เบ) เบซเบผเบทเปเบšเปˆเบ‡เบญเบญเบเป€เบ›เบฑเบ™เบซเบผเบฒเบ (ร† เปƒเบ™โ€‹เบžเบฒโ€‹เบชเบฒโ€‹เบเบฃเบฑเปˆเบ‡);
  • เบฅเบฑเบเบชเบฐเบ™เบฐเปเบซเปˆเบ‡เบŠเบฒเบ”เบ—เบฑเบ‡เปเบปเบ” (เบ•เบปเบงเบญเบฑเบเบชเบญเบ™, เบ•เบปเบงเบžเบดเบกเปƒเบซเบเปˆ/เบ•เบปเบงเบžเบดเบกเบ™เป‰เบญเบ, เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบงเบฑเบเบ•เบญเบ™, เบฅเบณเบ”เบฑเบšเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบเบฒเบ™เบ‚เบฝเบ™) เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบณเบ™เบปเบ”เบ„เปˆเบฒเบ•เบฒเบกเบเบฒเบ™เบเบณเบ™เบปเบ”เบ„เบนเปˆเบกเบทเบ‚เบญเบ‡เบ„เบณเบชเบฑเปˆเบ‡ (เบญเบตเป‚เบกเบˆเบด);
  • เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡, เปเบ•เปˆเบเบฑเบ‡เบขเบนเปˆเปƒเบ™เบซเบผเบฒเบเบšเปˆเบญเบ™, เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เปเบ–เบง (เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™ {A... z} เปƒเบ™ bash);
  • เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ„เบงเบ™เป€เบฎเบฑเบ”เบขเปˆเบฒเบ‡เป„เบงเบงเบฒ.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบœเบนเป‰เบ‚เบฝเบ™เบ‚เบญเบ‡เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เป„เบ”เป‰เบชเป‰เบฒเบ‡เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ—เบตเปˆเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ algorithm เบšเปเปˆเบ„เบงเบ™เบญเบตเบ‡เปƒเบชเปˆ:

  • เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบšเปเปˆเบ„เบงเบ™เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบŠเบธเบ”เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบžเบฒเบชเบฒ (เบžเบฒเบชเบฒเบฅเบฑเบ”เป€เบŠเบเปเบฅเบฐเบญเบนเปเบเบฃเบ™เบกเบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ Cyrillic เบชเปˆเบงเบ™เปƒเบซเบเปˆ);
  • เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบšเปเปˆเบ„เบงเบ™เบญเบตเบ‡เปƒเบชเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Unicode;
  • เบ™เปเป‰เบฒเปœเบฑเบเบ‚เบญเบ‡เบชเบฒเบเบšเปเปˆเบ„เบงเบ™เป€เบ›เบฑเบ™เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบชเบฒเบเป€เบŠเบทเบญเบ, เป€เบžเบฒเบฐเบงเปˆเบฒเบชเบฒเบเป€เบŠเบทเบญเบเบ”เบฝเบงเบเบฑเบ™เบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเบงเบฑเบ”เบ—เบฐเบ™เบฐเบ—เปเบฒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบชเบฒเบกเบฒเบ”เบกเบตเบ™เปเป‰เบฒเปœเบฑเบเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™;
  • เบ™เป‰ เบณ เปœเบฑเบ เปเบ–เบงเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เป€เบกเบทเปˆเบญเบฅเบงเบกเบซเบผเบทเปเบเบ (เบˆเบฒเบ x < y เบกเบฑเบ™เบšเปเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบ™เบฑเป‰เบ™ xz < yz);
  • เบชเบฐเบ•เบฃเบดเบ‡เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเบ”เบฝเบงเบเบฑเบ™เปเบกเปˆเบ™เบ–เบทเบงเปˆเบฒเป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™เบˆเบฒเบเบ—เบฑเบ”เบชเบฐเบ™เบฐเบ‚เบญเบ‡เบชเบนเบ”เบเบฒเบ™เบฎเบฝเบ‡เบฅเปเบฒเบ”เบฑเบš. เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบเบฒเบ™เบชเบฑเปˆเบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ‚เบญเบ‡เบชเบฒเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, เปเบ•เปˆเบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบธเบ”เบฅเบปเบ‡;
  • เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡เบŠเป‰เบณเป†, เปเบ–เบงเบ—เบตเปˆเบกเบตเบ™เป‰เบณเปœเบฑเบเบ”เบฝเบงเบเบฑเบ™เบญเบฒเบ”เบˆเบฐเบ–เบทเบเบ›เปˆเบฝเบ™. เบ„เบงเบฒเบกเปเบ‚เบ‡เปเบเปˆเบ™เปเบกเปˆเบ™เบŠเบฑเบšเบชเบดเบ™เบ‚เบญเบ‡เบชเบนเบ”เบเบฒเบ™เบฎเบฝเบ‡เบฅเบณเบ”เบฑเบšเบชเบฐเป€เบžเบฒเบฐ, เปเบฅเบฐเบšเปเปˆเปเบกเปˆเบ™เบŠเบฑเบšเบชเบดเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡ (เป€เบšเบดเปˆเบ‡เบงเบฑเบเบเปˆเบญเบ™เปœเป‰เบฒ);
  • เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡เบญเบฒเบ”เบˆเบฐเบ›เปˆเบฝเบ™เปเบ›เบ‡เบ•เบฒเบกเป€เบงเบฅเบฒ เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ›เบฐเป€เบžเบ™เบตเบงเบฑเบ”เบ—เบฐเบ™เบฐเบ—เปเบฒเบ›เบฑเบšเบ›เบธเบ‡/เบ›เปˆเบฝเบ™เปเบ›เบ‡.

เบกเบฑเบ™เบเบฑเบ‡เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบงเปˆเบฒ algorithm เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบšเปเปˆเบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบš semantics เบ‚เบญเบ‡ strings เบเปเบฒเบฅเบฑเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบชเบฐเบ•เบฃเบดเบ‡เบ—เบตเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบ•เบปเบงเป€เบฅเบเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™เบšเปเปˆเบ„เบงเบ™เบ–เบทเบเบ›เบฝเบšเบ—เบฝเบšเป€เบ›เบฑเบ™เบ•เบปเบงเป€เบฅเบ, เปเบฅเบฐเปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบŠเบทเปˆเบžเบฒเบชเบฒเบญเบฑเบ‡เบเบดเบ”เบšเบปเบ”เบ„เบงเบฒเบก (Beatles, The).

เป€เบžเบทเปˆเบญเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”, เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบซเบผเบฒเบเบฅเบฐเบ”เบฑเบš (เบ•เบปเบงเบˆเบดเบ‡เปเบฅเป‰เบงเบชเบตเปˆเบฅเบฐเบ”เบฑเบš) เป„เบ”เป‰เบ–เบทเบเบชเบฐเป€เบซเบ™เบต.

เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปƒเบ™เบชเบฐเบ•เบฃเบดเบ‡เบ–เบทเบเบซเบผเบธเบ”เบฅเบปเบ‡เป€เบ›เบฑเบ™เบฎเบนเบšเปเบšเบš canonical เปเบฅเบฐเบˆเบฑเบ”เบเบธเปˆเบกเป€เบ›เบฑเบ™เบซเบปเบงเบซเบ™เปˆเบงเบเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš. เปเบ•เปˆเบฅเบฐเบซเบ™เปˆเบงเบเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเป„เบ”เป‰เบ–เบทเบเบกเบญเบšเบซเบกเบฒเบเบ™เป‰เปเบฒเบซเบ™เบฑเบเบซเบผเบฒเบเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เบเบฑเบšเบซเบผเบฒเบเบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš. เบ™เป‰เบณเปœเบฑเบเบ‚เบญเบ‡เบซเบปเบงเปœเปˆเบงเบเบ›เบฝเบšเบ—เบฝเบšเปเบกเปˆเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบŠเบธเบ”เบ•เบฒเบกเบฅเบณเบ”เบฑเบš (เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบก) เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฝเบšเบ—เบฝเบšเป„เบ”เป‰เบซเบผเบฒเบ เบซเบผเบท เปœเป‰เบญเบ. เบ„เบงเบฒเบกเบซเบกเบฒเบเบžเบดเป€เบชเบ” เบšเปเปˆเบชเบปเบ™เปƒเบˆ (0x0) เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเปƒเบ™เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™ เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบ™เบตเป‰เบšเปเปˆเบกเบตเบชเปˆเบงเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš. เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฒเบเบชเบฒเบกเบฒเบ”เบ–เบทเบเบŠเป‰เปเบฒเบซเบผเบฒเบเบ„เบฑเป‰เบ‡, เป‚เบ”เบเปƒเบŠเป‰เบ™เป‰เปเบฒเบซเบ™เบฑเบเบ‚เบญเบ‡เบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™. เปƒเบ™โ€‹เปเบ•เปˆโ€‹เบฅเบฐโ€‹เบ‚เบฑเป‰เบ™โ€‹, เบ™โ€‹เป‰โ€‹เปเบฒโ€‹เบซเบ™เบฑเบโ€‹เบ‚เบญเบ‡โ€‹เบซเบปเบงโ€‹เบซเบ™เปˆเบงเบโ€‹เบเบฒเบ™โ€‹เบ›เบฝเบšโ€‹เบ—เบฝเบšโ€‹เบ‚เบญเบ‡โ€‹เบชเบญเบ‡โ€‹เปเบ–เบงโ€‹เป€เบเบฑเบ”โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบ–เบทเบโ€‹เบชเบปเบกโ€‹เบ—เบฝเบšโ€‹เบ•เบฒเบกโ€‹เบฅเปเบฒโ€‹เบ”เบฑเบšโ€‹เบ•เปเปˆโ€‹เบเบฑเบ™โ€‹.

เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ‚เบญเบ‡ algorithm เบชเปเบฒเบฅเบฑเบšเบ›เบฐเป€เบžเบ™เบตเปเบซเปˆเบ‡เบŠเบฒเบ”เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบ„เบธเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบ•เบปเบงเบ„เบนเบ™เบญเบฒเบ”เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เปเบ•เปˆเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ Unicode เบ›เบฐเบเบญเบšเบกเบตเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบ™เป‰เปเบฒเบซเบ™เบฑเบ - "เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบก Unicode เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™" (DUCET). เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบขเบฒเบเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเบงเปเบ› LC_COLLATE เบ•เบปเบงโ€‹เบˆเบดเบ‡โ€‹เปเบฅเป‰เบงโ€‹เปเบกเปˆเบ™โ€‹เบ•เบปเบงโ€‹เบŠเบตเป‰โ€‹เบšเบญเบโ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ„เบฑเบ”โ€‹เป€เบฅเบทเบญเบโ€‹เบ‚เบญเบ‡โ€‹เบ•เบฒโ€‹เบ•เบฐโ€‹เบฅเบฒเบ‡โ€‹เบ™โ€‹เป‰โ€‹เปโ€‹เบฒโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบ—เปเบฒโ€‹เบ‡เบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ›เบฝเบšโ€‹เบ—เบฝเบšโ€‹เบชเบฒเบโ€‹เบ•เบฑเป‰เบ‡โ€‹.

เบ„เปˆเบฒเบชเปเบฒเบ›เบฐเบชเบดเบ”เบเบฒเบ™เบ™เป‰เปเบฒเบซเบ™เบฑเบ DUCET เบˆเบฑเบ”โ€‹เบฅเบฝเบ‡โ€‹เบ”เบฑเปˆเบ‡โ€‹เบ™เบตเป‰โ€‹:

  • เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ—เปเบฒเบญเบดเบ”, เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบซเบผเบธเบ”เบฅเบปเบ‡เป€เบ›เบฑเบ™เบเปเบฅเบฐเบ™เบตเบ”เบฝเบงเบเบฑเบ™, diacritics เบ–เบทเบเบเบปเบเป€เบฅเบตเบ, เป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเบงเบฑเบเบ•เบญเบ™ (เบšเปเปˆเปเบกเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”) เปเบกเปˆเบ™เบ–เบทเบเบฅเบฐเป€เบฅเบตเบ;
  • เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ—เบตเบชเบญเบ‡, เบžเบฝเบ‡เปเบ•เปˆ diacritics เป„เบ”เป‰เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒ;
  • เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ—เบตเบชเบฒเบก, เบเปเบฅเบฐเบ™เบตเบžเบฝเบ‡เปเบ•เปˆเบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒ;
  • เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ—เบตเบชเบตเปˆ, เบžเบฝเบ‡เปเบ•เปˆเป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบงเบฑเบเบ•เบญเบ™เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒ.

เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™เบซเบผเบฒเบ passes: เบ—เปเบฒเบญเบดเบ”, เบ•เบปเบงเบ„เบนเบ™เบ‚เบญเบ‡เบฅเบฐเบ”เบฑเบšเบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบ›เบฝเบšเบ—เบฝเบš; เบ–เป‰เบฒเบ™เป‰เบณเปœเบฑเบเบเบปเบ‡เบเบฑเบ™, เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบŠเป‰เบณเป†เบเบฑเบšเบ™เป‰เบณเปœเบฑเบเบฅเบฐเบ”เบฑเบšเบ—เบตเบชเบญเบ‡เปเบกเปˆเบ™เบ”เบณเป€เบ™เบตเบ™; เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบšเบฒเบ‡เบ—เบตเบชเบฒเบกเปเบฅเบฐเบชเบตเปˆ.

เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบˆเบฐเบชเบดเป‰เบ™เบชเบธเบ”เป€เบกเบทเปˆเบญเปเบ–เบงเบกเบตเบซเบปเบงเปœเปˆเบงเบเบ—เบตเปˆเบเบปเบ‡เบเบฑเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบ™เป‰เบณเปœเบฑเบเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เปเบ–เบงโ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบ™โ€‹เป‰โ€‹เปเบฒโ€‹เบซเบ™เบฑเบโ€‹เป€เบ—เบปเปˆเบฒโ€‹เบ—เบฝเบกโ€‹เบเบฑเบ™โ€‹เปƒเบ™โ€‹เบ—เบฑเบ‡โ€‹เบชเบตเปˆโ€‹เบฅเบฐโ€‹เบ”เบฑเบšโ€‹เปเบกเปˆเบ™โ€‹เบžเบดโ€‹เบˆเบฒโ€‹เบฅเบฐโ€‹เบ™เบฒโ€‹เป€เบ—เบปเปˆเบฒโ€‹เบ—เบฝเบกโ€‹เบเบฑเบ™โ€‹.

เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ™เบตเป‰ (เบกเบตเบŠเปเปˆเบ‚เบญเบ‡เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก) เป„เบ”เป‰เปƒเบซเป‰เบŠเบทเปˆเป€เบžเบทเปˆเบญเบฅเบฒเบเบ‡เบฒเบ™เบชเบฐเบšเบฑเบšเป€เบฅเบเบ—เบต 10 - "Unicode Collation Algorithm" (ACU).

เบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบถเบ”เบ•เบดเบเปเบฒเบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เบˆเบฒเบเบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบเบฒเบเป€เบ›เบฑเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบ. เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ”เบตเบ—เบตเปˆเบˆเบฐเบ›เบฝเบšเบ—เบฝเบšเบกเบฑเบ™เบเบฑเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ Unicode.

เป€เบžเบทเปˆเบญเบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” ACU เบกเบตเบ„เบงเบฒเบกเบžเบดเป€เบชเบ” เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ เป„เบŸเบฅโ€‹เปŒโ€‹เบ™โ€‹เป‰โ€‹เปเบฒโ€‹เบซเบ™เบฑเบโ€‹, เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹ DUCET. เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบŠเบญเบโ€‹เบซเบฒโ€‹เบ„เบฑเบ”โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบ‚เบญเบ‡โ€‹เป€เบฅเบทเปˆเบญเบ‡โ€‹เบ•เบฐโ€‹เบซเบฅเบปเบโ€‹เปƒเบ™โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เป€เบเบฑเบ”โ€‹เป„เบ”เป‰โ€‹. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบกเบตเบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบฅเบตเบกเปเบฅเบฐ dominoes เป€เบญเบตเบฃเบปเบš, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เป€เบซเบกเบฒเบฐเบชเบปเบกเปƒเบ™ deck เบ‚เบญเบ‡เบšเบฑเบ” (เบชเบฑเบ™เบเบฒเบฅเบฑเบ. 1F000 เปเบฅเบฐเบ•เบทเปˆเบกเบญเบตเบ). เบŠเบธเบ”เบšเบฑเบ”เปเบกเปˆเบ™เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบšเบ‚เบญเบ‡เบ‚เบปเบง - PCBT, เปเบฅเบฐเบšเบฑเบ”เปƒเบ™เบŠเบธเบ”เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบฅเปเบฒเบ”เบฑเบš T, 2,3, XNUMX ... K.

เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เบงเปˆเบฒเปเบ–เบงเบ–เบทเบเบˆเบฑเบ”เบฎเบฝเบ‡เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เบ•เบฒเบก DUCET เบญเบฒเบ”เบˆเบฐเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบกเบทเปˆเบญเบ, เปเบ•เปˆ, เป‚เบŠเบเบ”เบตเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ, เบกเบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš Unicode - "เบญเบปเบ‡เบ›เบฐเบเบญเบšเบชเบฒเบเบปเบ™เบชเปเบฒเบฅเบฑเบš Unicode"(ICU).

เบขเบนเปˆเปƒเบ™เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ™เบตเป‰, เบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบ™ IBM, เบกเบตเบซเบ™เป‰เบฒเบ•เบปเบงเบขเปˆเบฒเบ‡, เบฅเบงเบกเบ—เบฑเบ‡ เบซเบ™เป‰เบฒ algorithm เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš string. เบžเบงเบเป€เบฎเบปเบฒเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบชเบฒเบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเบฐ, เป€เบšเบดเปˆเบ‡เปเบฅเบฐเป€เบšเบดเปˆเบ‡, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡เบžเบฒเบชเบฒเบฅเบฑเบ”เป€เบŠเบเบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เปเบšเบš.

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

เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เป€เบงเบฑเบšเป„เบŠเบ—เปŒ ICU เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเบ„เบงเบฒเบกเบเบฐเบˆเปˆเบฒเบ‡เปเบˆเป‰เบ‡เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเป€เบกเบทเปˆเบญเบ›เบฐเบกเบงเบ™เบœเบปเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบงเบฑเบเบ•เบญเบ™. เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡ เบ„เบณเบ–เบฒเบกเบ—เบตเปˆเบ–เบฒเบกเป€เบฅเบทเป‰เบญเบเป†เบเปˆเบฝเบงเบเบฑเบšเบ„เปเบฅเบณ apostrophe เปเบฅเบฐ hyphen เบ–เบทเบเบฅเบฐเป€เบฅเบตเบ.

Unicode เบŠเปˆเบงเบเบžเบงเบเป€เบฎเบปเบฒ, เปเบ•เปˆเบŠเบญเบเบซเบฒเป€เบซเบ”เบœเบปเบ™เบชเปเบฒเบฅเบฑเบšเบžเบถเบ”เบ•เบดเบเปเบฒเบ—เบตเปˆเปเบ›เบเบ›เบฐเบซเบผเบฒเบ” เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡ ะฒ Linux เบˆเบฐเบ•เป‰เบญเบ‡เป„เบ›เบšเปˆเบญเบ™เบญเบทเปˆเบ™.

เบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡เปƒเบ™ glibc

เป€เบšเบดเปˆเบ‡เบ”เปˆเบงเบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ” เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡ เบˆเบฒเบเบ™เบฑเป‰เบ™ GNU Core Utils เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเปƒเบ™เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡, เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบฅเบปเบ‡เบกเบฒเบเบฑเบšเบเบฒเบ™เบžเบดเบกเบกเบนเบ™เบ„เปˆเบฒเบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ‚เบญเบ‡เบ•เบปเบงเปเบ› LC_COLLATE เป€เบกเบทเปˆเบญเปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™เป‚เปเบ”เบ”เบตเบšเบฑเบ:

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

เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰เบŸเบฑเบ‡เบŠเบฑเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ เป€เบฅเบทเปˆเบญเบ™, เบŠเบถเปˆเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” glibc.

เบเปˆเบฝเบงเบเบฑเบš เบงเบดโ€‹เบเบต เป‚เบ„เบ‡เบเบฒเบ™ glibc เบญเบธเบ—เบดเบ”เบ•เบปเบ™เป€เบžเบทเปˆเบญเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡ เบงเบฑเบเบซเบ™เบถเปˆเบ‡. เบˆเบฒเบเบงเบฑเบเบ™เบตเป‰เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเปƒเบˆเป„เบ”เป‰เบงเปˆเบฒเปƒเบ™ glibc เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เปเบฅเป‰เบง ACU (เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ‚เบญเบ‡ Unicode collation) เปเบฅเบฐ/เบซเบผเบท เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เปƒเบเป‰เบ„เบฝเบ‡เบเบฑเบšเบกเบฑเบ™ ISO 14651 (เบเบฒเบ™เบˆเบฑเบ”เบฅเปเบฒเบ”เบฑเบšเบชเบฐเบ•เบฃเบดเบ‡เบชเบฒเบเบปเบ™เปเบฅเบฐเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš). เบเปˆเบฝเบงเบเบฑเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบซเบฅเป‰เบฒเบชเบธเบ”, เบ„เบงเบ™เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบขเบนเปˆเปƒเบ™เป€เบงเบฑเบšเป„เบŠเบ—เปŒ standard.iso.org ISO 14651 เป„เบ”เป‰เบ›เบฐเบเบฒเบ”เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™, เปเบ•เปˆเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เบ™เปเบฒเป„เบ›เบชเบนเปˆเบซเบ™เป‰เบฒเบ—เบตเปˆเบšเปเปˆเบกเบตเบขเบนเปˆ. Google เบเบฑเบšเบ„เบทเบ™เบซเบฅเบฒเบเบซเบ™เป‰เบฒเบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบฒเบ‡เบเบฒเบ™เบ—เบตเปˆเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบŠเบทเป‰เบชเปเบฒเป€เบ™เบปเบฒเป€เบญเป€เบฅเบฑเบเป‚เบ•เบฃเบ™เบดเบเบ‚เบญเบ‡เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบฎเป‰เบญเบเป€เบญเบตเป‚เบฃ, เปเบ•เปˆเปƒเบ™เบซเบ™เป‰เบฒเบ—เบตเบชเบฒเบกเบซเบผเบทเบชเบตเปˆเบ‚เบญเบ‡เบœเบปเบ™เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบเบฑเบ‡เบกเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป‚เบ”เบเบเบปเบ‡เบเบฑเบš. PDF. เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เปเบกเปˆเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบšเปเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบ ACU, เปเบ•เปˆเป€เบ›เบฑเบ™เบเบฒเบ™เบญเปˆเบฒเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเป€เบšเบทเปˆเบญเบซเบผเบฒเบเป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเบกเบตเบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบ‚เบญเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐเปเบซเปˆเบ‡เบŠเบฒเบ”เบ‚เบญเบ‡เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เบชเบฐเบ•เบฃเบดเบ‡.

เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”เบเปˆเบฝเบงเบเบฑเบš เบงเบดโ€‹เบเบต เบกเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš เบšเบปเบšเบ•เบดเบ”เบ•เบฒเบกเบฅเบธเบ” bug เบเบฑเบšเบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡เปƒเบ™ glibc. เบˆเบฒเบเบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบฎเบฝเบ™เบฎเบนเป‰เป„เบ”เป‰ glibc เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡ ISOเบ•เบฒโ€‹เบ•เบฐโ€‹เบฅเบฒเบ‡โ€‹เบชเปˆเบงเบ™โ€‹เบšเบธเบโ€‹เบ„เบปเบ™โ€‹ เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบกเปˆเปเบšเบšเบ—เบปเปˆเบงเป„เบ› (CTT), เบ—เบตเปˆเบขเบนเปˆเบ‚เบญเบ‡เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบžเบปเบšเป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ A เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ ISO 14651. เบฅเบฐเบซเบงเปˆเบฒเบ‡ 2000 เปเบฅเบฐ 2015 เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ™เบตเป‰เปƒเบ™ glibc เบšเปเปˆเบกเบตเบœเบนเป‰เบฎเบฑเบเบชเบฒเปเบฅเบฐเปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™ (เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบžเบฒเบเบ™เบญเบ) เบˆเบฒเบเบชเบฐเบšเบฑเบšเบ›เบฐเบˆเบธเบšเบฑเบ™เบ‚เบญเบ‡เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เบˆเบฒเบ 2015 เบซเบฒ 2018, เบเบฒเบ™เบ›เบฑเบšเบ•เบปเบงเป€เบ‚เบปเป‰เบฒเบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปƒเบซเบกเปˆเป„เบ”เป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™, เปเบฅเบฐเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เปˆเบฒเบ™เบกเบตเป‚เบญเบเบฒเบ”เบ—เบตเปˆเบˆเบฐเบžเบปเบšเบเบฑเบ™เปƒเบ™เบŠเบตเบงเบดเบ”เบˆเบดเบ‡เบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆ (CentOS 8), เปเบฅเบฐเป€เบเบปเปˆเบฒ (CentOS 7).

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบเปˆเบฝเบงเบเบฑเบš algorithm เปเบฅเบฐเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ auxiliary, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒเบšเบฑเบ™เบซเบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเปเบฅเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเบดเบ—เบตเบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡เบชเบฒเบเบžเบฒเบชเบฒเบฅเบฑเบ”เป€เบŠเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡.

ISO 14651/14652

เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบปเบ™เปƒเบˆ CTT เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบเบชเปˆเบงเบ™เปƒเบซเบเปˆ Linux เบขเบนเปˆเปƒเบ™เบฅเบฒเบเบเบฒเบ™ /usr/share/i18n/locales/. เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒ iso14651_t1_common. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ™เบตเป‰เปเบกเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เป„เบŸเบฅเปŒ เบชเบณเป€เบ™เบปเบฒ iso14651_t1_common เบฅเบงเบกเบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒ iso14651_t1, เป€เบŠเบดเปˆเบ‡, เปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™, เปเบกเปˆเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™เปเบซเปˆเบ‡เบŠเบฒเบ”, เบฅเบงเบกเบ—เบฑเบ‡ เปƒเบ™เบชเบฐเบซเบฐเบฅเบฑเบ” ะธ ru_RU. เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบเบชเปˆเบงเบ™เปƒเบซเบเปˆ Linux เป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™, เปเบ•เปˆเบ–เป‰เบฒเบžเบงเบเบกเบฑเบ™เบšเปเปˆเบขเบนเปˆ, เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบŠเบธเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบˆเบฒเบเบเบฒเบ™เปเบˆเบเบขเบฒเบ.

เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒ iso14651_t1 เบญเบฒเบ”เบˆเบฐเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ verbose เบ‚เบตเป‰เบฎเป‰เบฒเบ, เบกเบตเบเบปเบ”เบฅเบฐเบšเบฝเบšเบ—เบตเปˆเบšเปเปˆเบŠเบฑเบ”เป€เบˆเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบŠเบทเปˆ, เปเบ•เปˆเบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบšเบดเปˆเบ‡เบกเบฑเบ™, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ. เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เป„เบ”เป‰เบ–เบทเบเบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ ISO 14652, เบชเปเบฒเป€เบ™เบปเบฒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ”เบฒเบงเป‚เบซเบฅเบ”เป„เบ”เป‰เบˆเบฒเบเป€เบงเบฑเบšเป„เบŠเบ—เปŒ open-std.org. เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเป„เบŸเบฅเปŒเบญเบทเปˆเบ™เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰เปƒเบ™ เบ‚เปเป‰เบกเบนเบ™เบชเบฐเป€เบžเบฒเบฐ POSIX เบˆเบฒเบ OpenGroup. เป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบญเปˆเบฒเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบถเบเบชเบฒเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™ collate_read ะฒ glibc/locale/programs/ld-collate.c.

เป‚เบ„เบ‡โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบเบฒเบ™โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เป€เบšเบดเปˆเบ‡โ€‹เบ„เบทโ€‹เบ™เบตเป‰โ€‹:

เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ–เบทเบเปƒเบŠเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเบฅเบฐเบ„เบญเบ™เบซเบฅเบปเบšเบซเบ™เบต, เปเบฅเบฐเบ—เป‰เบฒเบเปเบ–เบงเบซเบผเบฑเบ‡เบˆเบฒเบเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ # เปเบกเปˆเบ™เบ„เปเบฒเบ„เบดเบ”เบ„เปเบฒเป€เบซเบฑเบ™. เบชเบฑเบ™เบเบฒเบฅเบฑเบเบ—เบฑเบ‡เบชเบญเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบ„เบทเบ™เปƒเบซเบกเปˆ, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆ:

escape_char /
comment_char %

เป„เบŸเบฅเปŒเบˆเบฐเบกเบต tokens เปƒเบ™เบฎเบนเบšเปเบšเบš เบซเบผเบท (เบšเปˆเบญเบ™เปƒเบ” x - เป€เบฅเบเบ–เบฒเบ™เบชเบดเบšเบซเบปเบ). เบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเปเบ—เบ™เป€เบฅเบเบ–เบฒเบ™เบชเบดเบšเบซเบปเบเบ‚เบญเบ‡เบˆเบธเบ”เบฅเบฐเบซเบฑเบ” Unicode เปƒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ” UCS-4 (UTF-32). เบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบทเปˆเบ™เป†เบ—เบฑเบ‡เปเบปเบ”เปƒเบ™เบงเบปเบ‡เป€เบฅเบฑเบšเบกเบธเบก (เบฅเบงเบกเบ—เบฑเบ‡ , <2> เปเบฅเบฐเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™) เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป€เบ›เบฑเบ™เบชเบฐเบ•เบฃเบดเบ‡เบ„เบปเบ‡เบ—เบตเปˆเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบซเบกเบฒเบเบžเบฝเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบเบขเบนเปˆเบ™เบญเบเบชเบฐเบžเบฒเบšเบเบฒเบ™.

เบชเบฒเบ LC_COLLATE เบšเบญเบเบžเบงเบเป€เบฎเบปเบฒเบงเปˆเบฒเบ•เปเปˆเป„เบ›เบˆเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ‚เบญเบ‡เบชเบฐเบ•เบฃเบดเบ‡.

เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”, เบŠเบทเปˆเปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบชเปเบฒเบฅเบฑเบšเบ™เป‰เปเบฒเบซเบ™เบฑเบเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเปเบฅเบฐเบŠเบทเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบชเบปเบกเบชเบฑเบ™เบเบฒเบฅเบฑเบ. เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เปเบฅเป‰เบง, เบ—เบฑเบ‡เบชเบญเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบŠเบทเปˆเปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบชเบญเบ‡เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เปเบ•เปˆเปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™เบ•เบปเบงเบˆเบดเบ‡เปเบกเปˆเบ™เบ›เบฐเบชเบปเบกเบเบฑเบ™. เบŠเบทเปˆเบ‚เบญเบ‡เบ™เป‰เปเบฒเบซเบ™เบฑเบเบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เป‚เบ”เบเบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™ collating-เบชเบฑเบ™โ€‹เบเบฒโ€‹เบฅเบฑเบโ€‹ (comparison character) เป€เบžเบฒเบฐเบงเปˆเบฒเป€เบกเบทเปˆเบญเบ›เบฝเบšเบ—เบฝเบš, เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ Unicode เบ—เบตเปˆเบกเบตเบ™เป‰เบณเปœเบฑเบเป€เบ—เบปเปˆเบฒเบเบฑเบ™เบˆเบฐเบ–เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบ—เบฝเบšเป€เบ—เบปเปˆเบฒ.

เบ„เบงเบฒเบกเบเบฒเบงเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบžเบฒเบเบชเปˆเบงเบ™เปƒเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เป„เบŸเบฅเปŒเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™เบ›เบฐเบกเบฒเบ™ 900 เป€เบชเบฑเป‰เบ™. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ”เบถเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบˆเบฒเบเบซเบผเบฒเบเป†เบšเปˆเบญเบ™เป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบšเปเปˆเบžเปเปƒเบˆเบ‚เบญเบ‡เบŠเบทเปˆเปเบฅเบฐเบซเบผเบฒเบเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡ syntax.

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>"

  • collating-เบชเบฑเบ™โ€‹เบเบฒโ€‹เบฅเบฑเบโ€‹ เบšเบฑเบ™เบ—เบถเบเบชเบฐเบ•เบฃเบดเบ‡ OSMANYA เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เบญเบ‡เบŠเบทเปˆเบ‚เบญเบ‡เป€เบเบฑเบ”
  • collating-เบชเบฑเบ™โ€‹เบเบฒโ€‹เบฅเบฑเบโ€‹ .. เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบฅเปเบฒเบ”เบฑเบšเบ‚เบญเบ‡เบŠเบทเปˆเบ—เบตเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒ S เปเบฅเบฐเบ„เบณเบ•เปเปˆเบ—เป‰เบฒเบเบ•เบปเบงเป€เบฅเบเป€เบฅเบเบ–เบฒเบ™เบชเบดเบšเบซเบปเบเบˆเบฒเบ 1D000 เบเบฒเบ™ 1D35F.
  • FFFF ะฒ collating-เบชเบฑเบ™โ€‹เบเบฒโ€‹เบฅเบฑเบโ€‹ เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบกเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เป€เบŠเบฑเบ™เปƒเบ™เบฅเบฐเบšเบปเบšเป€เบฅเบเบ–เบฒเบ™เบชเบดเบšเบซเบปเบ, เปเบ•เปˆ เบกเบฑเบ™เป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบŠเบทเปˆเบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเบ„เป‰เบฒเบเบ„เบท
  • ะธะผั เบซเบกเบฒเบเป€เบ–เบดเบ‡เบˆเบธเบ”เบฅเบฐเบซเบฑเบ”เปƒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ” UCS-4
  • collating-เบญเบปเบ‡เบ›เบฐเบเบญเบš เบˆเบฒเบ " " เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบŠเบทเปˆเปƒเปเปˆเบชเบณเบฅเบฑเบšเบ„เบนเปˆเบ‚เบญเบ‡เบˆเบธเบ” Unicode.

เป€เบกเบทเปˆเบญเบŠเบทเปˆเบ‚เบญเบ‡เบ™เป‰เบณเปœเบฑเบเบ–เบทเบเบเบณเบ™เบปเบ”, เบ™เป‰เบณเปœเบฑเบเบ•เบปเบงเบˆเบดเบ‡เปเบกเปˆเบ™เบเบณเบ™เบปเบ”. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบ—เบตเปˆเปƒเบซเบเปˆเบเบงเปˆเบฒเบซเบ™เป‰เบญเบเปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เปƒเบ™เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš, เบ™เป‰เปเบฒเบซเบ™เบฑเบเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบฅเปเบฒเบ”เบฑเบšเบ‡เปˆเบฒเบเป†เบ‚เบญเบ‡เบฅเบฒเบเบŠเบทเปˆ. เบ™เป‰ เบณ เปœเบฑเบ "เบญเปˆเบญเบ™เบเบงเปˆเบฒ" เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เบเปˆเบญเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปเบกเปˆเบ™ "เปœเบฑเบเบเบงเปˆเบฒ". เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ‚เปเป€เบ•เบทเบญเบ™เบ—เปˆเบฒเบ™เบงเปˆเบฒเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ Unicode เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบ–เบทเบเบกเบญเบšเบซเบกเบฒเบเบชเบตเปˆเบ™เป‰เปเบฒเบซเบ™เบฑเบเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเบกเบฑเบ™เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเป€เบ›เบฑเบ™เบฅเปเบฒเบ”เบฑเบšเบ”เบฝเบง. เปƒเบ™เบ—เบฒเบ‡เบ—เบดเบ”เบชเบฐเบ”เบต, เบŠเบทเปˆเบชเบฑเบ™เบเบฒเบฅเบฑเบเบชเบฒเบกเบฒเบ”เบ–เบทเบเปƒเบŠเป‰เบขเบนเปˆเปƒเบ™เบชเบตเปˆเบฅเบฐเบ”เบฑเบšเปƒเบ”เบเปเปˆเบ•เบฒเบก, เปเบ•เปˆเบ„เปเบฒเป€เบซเบฑเบ™เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบฒเบ‡เบˆเบดเบ”เปเบเบเบŠเบทเปˆเบญเบญเบเป€เบ›เบฑเบ™เบฅเบฐเบ”เบฑเบš.

% 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

เบชเบธเบ”เบ—เป‰เบฒเบ, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ™เป‰เปเบฒเบซเบ™เบฑเบเบ•เบปเบงเบˆเบดเบ‡.

เบžเบฒเบเบชเปˆเบงเบ™เบ™เป‰เปเบฒเบซเบ™เบฑเบเบ–เบทเบเบซเบธเป‰เบกเบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™ order_start ะธ order_end. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบžเบดเป€เบชเบ” order_start เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเปเบ–เบงเบ—เบดเบ”เบ—เบฒเบ‡เปƒเบ”เบ–เบทเบเบชเบฐเปเบเบ™เปƒเบ™เปเบ•เปˆเบฅเบฐเบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ เป„เบ›เบ‚เป‰เบฒเบ‡เบซเบ™เป‰เบฒ. เบฎเปˆเบฒเบ‡เบเบฒเบเบ‚เบญเบ‡เบžเบฒเบเบชเปˆเบงเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เบชเบฑเบ™เบเบฒเบฅเบฑเบเปเบฅเบฐเบชเบตเปˆเบ™เป‰เปเบฒเบซเบ™เบฑเบเบ‚เบญเบ‡เบกเบฑเบ™. เบฅเบฐเบซเบฑเบ”เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบชเบฐเปเบ”เบ‡เป‚เบ”เบเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡, เบˆเบธเบ”เบฅเบฐเบซเบฑเบ”, เบซเบผเบทเบŠเบทเปˆเบชเบฑเบ™เบเบฒเบฅเบฑเบเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰. เบ™เป‰เปเบฒเบซเบ™เบฑเบเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบกเบญเบšเปƒเบซเป‰เบเบฑเบšเบŠเบทเปˆเบชเบฑเบ™เบเบฒเบฅเบฑเบ, เบˆเบธเบ”เบฅเบฐเบซเบฑเบ”, เบซเบผเบทเบชเบฑเบ™เบเบฒเบฅเบฑเบเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡. เบ–เป‰เบฒเบˆเบธเบ”เบฅเบฐเบซเบฑเบ”เบซเบผเบทเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เบ™เป‰เปเบฒเบซเบ™เบฑเบเบ‚เบญเบ‡เบžเบงเบเบกเบฑเบ™เปเบกเปˆเบ™เป€เบ—เบปเปˆเบฒเบเบฑเบšเบ„เปˆเบฒเบ•เบปเบงเป€เบฅเบเบ‚เบญเบ‡เบˆเบธเบ”เบฅเบฐเบซเบฑเบ” (เบ•เปเบฒเปเบซเบ™เปˆเบ‡เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Unicode). เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธเบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™ (เบ•เบฒเบกเบ—เบตเปˆเบ‚เป‰เบญเบเป€เบ‚เบปเป‰เบฒเปƒเบˆ) เป„เบ”เป‰เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเปƒเบซเป‰เบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเบ•เบปเป‰เบ™เบ•เปเบ—เบตเปˆเบเบปเบ‡เบเบฑเบšเบ•เปเบฒเปเบซเบ™เปˆเบ‡เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Unicode. เบกเบนเบ™เบ„เปˆเบฒเบ™เป‰เปเบฒเบซเบ™เบฑเบเบžเบดเป€เบชเบ” เบšเปเปˆเบชเบปเบ™เปƒเบˆ เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบชเบฑเบ™เบเบฒเบฅเบฑเบเบ–เบทเบเบฅเบฐเป€เบงเบฑเป‰เบ™เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš.

เป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เป€เบเบฑเบ”, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป€เบฅเบทเบญเบเบชเบฒเบกเบŠเบดเป‰เบ™เบ—เบตเปˆเป€เบซเบฑเบ™เป„เบ”เป‰เบŠเบฑเบ”เป€เบˆเบ™:

  • เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบ–เบทเบเบฅเบฐเป€เบฅเบตเบเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™
  • เบชเบฑเบ™เบเบฒเบฅเบฑเบเบ—เบฝเบšเป€เบ—เบปเปˆเบฒเบเบฑเบšเบ•เบปเบงเป€เบฅเบเบชเบฒเบกเปƒเบ™เบชเบญเบ‡เบฅเบฐเบ”เบฑเบšเบ—เปเบฒเบญเบดเบ”
  • เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ Cyrillic, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบกเบต diacritics, เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบถเปˆเบ‡เบ–เบทเบเบˆเบฑเบ”เบฎเบฝเบ‡เบชเปˆเบงเบ™เปƒเบซเบเปˆเป‚เบ”เบเบฅเบฐเบ”เบฑเบšเบ—เปเบฒเบญเบดเบ”เปเบฅเบฐเบ—เบตเบชเบฒเบก.

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 เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบžเบดเป€เบชเบ”เบ–เบทเบเป‚เบซเบฅเบ”เบ—เบตเปˆเบฅเบฐเบšเบธเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš byte-by-byte

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'
};

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเปƒเบ™ Unicode เบˆเบธเบ”เบฅเบฐเบซเบฑเบ” ะ เบกเบฒเบเปˆเบญเบ™ A, เบชเบฒเบเบ–เบทเบเบˆเบฑเบ”เบฎเบฝเบ‡เบ•เบฒเบกเบ„เบงเบฒเบกเป€เบซเบกเบฒเบฐเบชเบปเบก.

เบ‚เปเป‰เบ„เบงเบฒเบก เปเบฅเบฐเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ„เบนเปˆ

เปเบ™เปˆเบ™เบญเบ™, เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡เปเบกเปˆเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ”, เปเบฅเบฐเบเบฒเบ™เปเบเบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ CTT เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบ›เบฑเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบ. เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡, เบกเบฑเบ™เบ–เบทเบเบฅเบงเบšเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฎเบนเบšเปเบšเบšเบ–เบฒเบ™เบชเบญเบ‡เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡ เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™.

เบ—เบตเบกเบ‡เบฒเบ™ เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ เบเบญเบกเบฎเบฑเบšเป€เบ›เบฑเบ™เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐเปเบซเปˆเบ‡เบŠเบฒเบ” (เบ—เบฒเบ‡เป€เบฅเบทเบญเบ -i), เป€เบŠเบดเปˆเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบฑเบ‡เปเบปเบ”เปเบกเปˆเบ™เบชเบฐเปเบ”เบ‡เป‚เบ”เบเบˆเบธเบ” Unicode, เปเบฅเบฐเป€เบญเบเบฐเบชเบฒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เปเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡เบˆเบธเบ” Unicode เปเบฅเบฐเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบชเบฐเป€เบžเบฒเบฐ (เบ—เบฒเบ‡เป€เบฅเบทเบญเบ -f). เป€เบ›เบฑเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ, เป„เบŸเบฅเปŒเบ–เบฒเบ™เบชเบญเบ‡เปเบกเปˆเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบตเปˆเบกเบตเบŠเบทเปˆเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบชเบธเบ”เบ—เป‰เบฒเบ.

glibc เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเบญเบ‡เบฎเบนเบšเปเบšเบšเป€เบญเบเบฐเบชเบฒเบ™เบ„เบนเปˆ: "เบ”เบฑเป‰เบ‡เป€เบ”เบตเบก" เปเบฅเบฐ "เบ—เบฑเบ™เบชเบฐเป„เบซเบก".

เบฎเบนเบšเปเบšเบšเบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบŠเบทเปˆเบ‚เบญเบ‡เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปเบกเปˆเบ™เบŠเบทเปˆเบ‚เบญเบ‡ subdirectory เปƒเบ™ /usr/lib/locale/. เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบเปˆเบญเบเบ™เบตเป‰เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒเป„เบšเบ™เบฒเบฃเบต LC_COLLATE, LC_CTYPE, LC_TIME เปเบฅเบฐเบญเบทเปˆเบ™เป†. เป„เบŸเบฅเปŒ LC_IDENTIFICATION เบกเบตเบŠเบทเปˆเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ (เป€เบŠเบดเปˆเบ‡เบญเบฒเบ”เบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบเบŠเบทเปˆเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต) เปเบฅเบฐเบ„เปเบฒเป€เบซเบฑเบ™.

เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบฎเบงเบšเบฎเบงเบกเบ”เบฝเบง /usr/lib/locale/locale-archive, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเปเบœเบ™เบ—เบตเปˆเบเบฑเบšเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ virtual เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เป‚เบ”เบเปƒเบŠเป‰ glibc. เบŠเบทเปˆเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบšเบฒเบ‡ canonization - เบžเบฝเบ‡เปเบ•เปˆเบ•เบปเบงเป€เบฅเบเปเบฅเบฐเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเบซเบผเบธเบ”เบฅเบปเบ‡เป€เบ›เบฑเบ™เบ•เบปเบงเบžเบดเบกเบ™เป‰เบญเบเบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเปƒเบ™เบŠเบทเปˆเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™ 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-archive เบžเบฒเบเปƒเบ•เป‰เบŠเบทเปˆ ru_RU.maccyrillic

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเปเบ› LANG = en_USUTF-8 เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, glibc เบˆเบฐเบŠเบญเบเบซเบฒ binaries เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปƒเบ™เบฅเปเบฒเบ”เบฑเบšเบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ‚เบญเบ‡เป„เบŸเบฅเปŒเปเบฅเบฐเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต:

/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/

เบ–เป‰เบฒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เบ—เบฑเบ‡เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบกเปเบฅเบฐเบ—เบฑเบ™เบชเบฐ เป„เป, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบซเป‰เบ„เบงเบฒเบก เบชเบณ เบ„เบฑเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบ—เบฑเบ™เบชเบฐ เป„เป.

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡ locale-a.

เบเบฒเบ™เบเบฐเบเบฝเบกเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ‚เบญเบ‡เบ—เปˆเบฒเบ™

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบ›เบฐเบเบญเบšเบญเบฒเบงเบธเบ”เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบฎเบนเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบดเบ‡เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡. เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ™เบตเป‰เบ„เบงเบ™เบ›เบฝเบšเบ—เบฝเบšเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบฅเบฑเบ”เป€เบŠเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡, เบฅเบงเบกเบ—เบฑเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ ะ, เปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเบงเบฑเบเบ•เบญเบ™เบ—เบตเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡. ASCII.

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบเบฐเบเบฝเบกเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบชเบญเบ‡เบ‚เบฑเป‰เบ™เบ•เบญเบ™: เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ™เป‰เปเบฒเบซเบ™เบฑเบเปเบฅเบฐเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฎเบนเบšเปเบšเบšเบ–เบฒเบ™เบชเบญเบ‡เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡. เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™.

เป€เบžเบทเปˆเบญเปƒเบซเป‰เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ–เบทเบเบ›เบฑเบšเบ”เป‰เบงเบเบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเปƒเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”, เปƒเบ™เบฎเบนเบšเปเบšเบš ISO 14652 เบžเบฒเบเบชเปˆเบงเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ™เป‰เปเบฒเบซเบ™เบฑเบเบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰. เบžเบฒเบเบชเปˆเบงเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™ reorder-เบซเบผเบฑเบ‡เบˆเบฒเบ เปเบฅเบฐเบŠเบตเป‰เบšเบญเบเบ•เปเบฒเปเบซเบ™เปˆเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เบžเบฒเบเบชเปˆเบงเบ™เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เบ”เป‰เบงเบเป€เบชเบฑเป‰เบ™ reorder-end. เบ–เป‰เบฒเบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปเบเป‰เป„เบ‚เบซเบผเบฒเบเป†เบžเบฒเบเบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบฒเบเบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เปเบกเปˆเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบžเบฒเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง.

เบ‚เป‰เบญเบเป„เบ”เป‰เบชเบณเป€เบ™เบปเบฒเป„เบŸเบฅเปŒเบชเบฐเบšเบฑเบšเปƒเปเปˆ iso14651_t1_common ะธ ru_RU เบˆเบฒเบ repository เป„เบ”เป‰ 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, เปเบ•เปˆเปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบ‚เป‰เบญเบเบ™เบตเป‰เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเบ‚เป‰เบญเบเป„เบ”เป‰เบเบปเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ locale-archive.

เบ—เบตเปˆ เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป„เบŸเบฅเปŒเปƒเบ™เป‚เบŸเบ™เป€เบ”เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบเบœเปˆเบฒเบ™เบ•เบปเบงเปเบ› I18NPATH เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒเป„เบŸเบฅเปŒเบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™, เปเบฅเบฐเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเป€เบžเบทเปˆเบญเบšเบฑเบ™เบ—เบถเบเป„เบŸเบฅเปŒเป„เบšเบ™เบฒเบฃเบตเบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบกเบต slashes:

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

POSIX เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเปƒเบ™ เบžเบฒเบชเบฒ เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡เป„เบ›เบซเบฒเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบกเบตเป„เบŸเบฅเปŒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™, เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ slash เป„เบ›เบ‚เป‰เบฒเบ‡เบซเบ™เป‰เบฒ, เปเบ•เปˆ glibc ะฒ Linux เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบฑเบ‡เปเบปเบ”เปเบกเปˆเบ™เบ™เบฑเบšเบˆเบฒเบเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบžเบทเป‰เบ™เบ–เบฒเบ™, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ‚เป‰เบฒเบกเบœเปˆเบฒเบ™เบ•เบปเบงเปเบ›เป„เบ”เป‰ เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ. เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ LOCPATH=~/.local/lib/locale/ เป„เบŸเบฅเปŒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบˆเบฐเบ–เบทเบเบ„เบปเป‰เบ™เบซเบฒเบขเบนเปˆเปƒเบ™เป‚เบŸเบ™เป€เบ”เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบฎเบงเบšเบฎเบงเบกเบ‚เบญเบ‡เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ”เป‰เบงเบเบŠเบธเบ”เบ•เบปเบงเปเบ› เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ เบšเปเปˆเบชเบปเบ™เปƒเบˆ.

เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบตเปˆเบ•เบฑเบ”เบชเบดเบ™:

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

เป‚เบซเป‰เบ! เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบฎเบฑเบ”เบกเบฑเบ™!

Bug work

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ•เบญเบšเบ„เปเบฒเบ–เบฒเบกเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เบชเบฐเบ•เบฃเบดเบ‡เบ—เบตเปˆเบงเบฒเบ‡เป„เบงเป‰เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™, เปเบ•เปˆเบเบฑเบ‡เบกเบตเบชเบญเบ‡เบชเบฒเบกเบ„เปเบฒเบ–เบฒเบกเบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” - เป€เบšเบดเปˆเบ‡เป€เบซเบฑเบ™เปเบฅเบฐเป€เบšเบดเปˆเบ‡เบšเปเปˆเป€เบซเบฑเบ™.

เปƒเบซเป‰เบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒเบšเบฑเบ™เบซเบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš.

เปเบฅเบฐเป‚เบ„เบ‡เบเบฒเบ™ เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡ เปเบฅเบฐเป‚เบ„เบ‡เบเบฒเบ™ เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก เปƒเบŠเป‰เบŸเบฑเบ‡เบŠเบฑเบ™เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡เบ”เบฝเบงเบเบฑเบ™เบˆเบฒเบ glibc. เบกเบฑเบ™เป€เบเบตเบ”เบ‚เบถเป‰เบ™เป„เบ”เป‰เปเบ™เบงเปƒเบ” เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก เปƒเบซเป‰เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบฎเบฝเบ‡เปเบ–เบงเบ—เบตเปˆเบˆเบฑเบ”เบฎเบฝเบ‡เบ•เบฒเบกเบ„เปเบฒเบชเบฑเปˆเบ‡ เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡ เบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ en_US.UTF-8? เบ„เปเบฒเบ•เบญเบšเปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบ: เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡ เบ›เบฝเบšเบ—เบฝเบšเบชเบฒเบเบ—เบฑเบ‡เปเบปเบ”, เปเบฅเบฐ เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก เบ›เบฝเบšเบ—เบฝเบšเบžเบฝเบ‡เปเบ•เปˆเบเบฐเปเบˆ, เป€เบŠเบดเปˆเบ‡เบ•เบฒเบกเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบชเบฐเบ•เบฃเบดเบ‡เป€เบ–เบดเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ whitespace เบ—เบณเบญเบดเบ”. เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เป€เบžเบฒเบฐเบงเปˆเบฒเบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เบ‚เบญเบ‡เบ„เปเบฒเบ—เปเบฒเบญเบดเบ”เปƒเบ™เปเบ–เบงเบšเปเปˆเบเบปเบ‡เบเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡เบ‚เบญเบ‡เปเบ–เบงเบ—เบตเปˆเบชเบปเบกเบšเบนเบ™.

เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ "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. เบ–เป‰เบฒเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเบšเปเปˆเบžเบปเบš, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ เบเบฒเบ™เบˆเบฑเบ”เบฅเบฝเบ‡ เปƒเบŠเป‰เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบš byte-by-byte เบขเปˆเบฒเบ‡เบ‡เบฝเบšเป†, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™.

เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เบกเบต glitch เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ„เบงเบฒเบกเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเป„เบ”เป‰. เบ—เบตเบกเบ‡เบฒเบ™ LOCPATH=/tmp locale -a เบˆเบฐเปƒเบซเป‰เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™ locale-archive, เปเบ•เปˆเบกเบตเบŠเบธเบ”เบ•เบปเบงเปเบ› เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ” (เบฅเบงเบกเบ—เบฑเบ‡เบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ” เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™) เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰.

$> 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

เบชเบฐเบซเบฅเบธเบš

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบ›เบฑเบ™เบ™เบฑเบเบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบœเบนเป‰เบ—เบตเปˆเป€เบ„เบตเบเบ„เบดเบ”เบงเปˆเบฒ strings เป€เบ›เบฑเบ™เบŠเบธเบ”เบ‚เบญเบ‡ bytes, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ LC_COLLATE=C.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบ›เบฑเบ™เบ™เบฑเบเบžเบฒเบชเบฒเบชเบฒเบ”เบซเบผเบทเบ™เบฑเบเบฅเบงเบšเบฅเบงเบกเบงเบฑเบ”เบˆเบฐเบ™เบฒเบ™เบธเบเบปเบก, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ”เบตเบเบงเปˆเบฒ.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบ›เบฑเบ™เบœเบนเป‰เปƒเบŠเป‰เบ‡เปˆเบฒเบเบ”เบฒเบ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฑเบšเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡ ls -a outputs เป„เบŸเบฅเปŒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบˆเบธเบ”เบ›เบฐเบชเบปเบกเบเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบ•เบปเบงเบญเบฑเบเบชเบญเบ™, เปเบฅเบฐ เบœเบนเป‰เบšเบฑเบ™เบŠเบฒเบเบฒเบ™เป€เบงเบฅเบฒเบ—เปˆเบฝเบ‡เบ„เบทเบ™, เป€เบŠเบดเปˆเบ‡เปƒเบŠเป‰เบซเบ™เป‰เบฒเบ—เบตเปˆเบžเบฒเบเปƒเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบฎเบฝเบ‡เบŠเบทเปˆ, เป€เบญเบปเบฒเป„เบŸเบฅเปŒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบˆเบธเบ”เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ.

เป€เบญเบเบฐเบชเบฒเบ™

เบฅเบฒเบเบ‡เบฒเบ™เบชเบฐเบšเบฑเบšเป€เบฅเบเบ—เบต 10 เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ‚เบญเบ‡ Unicode

เบ™เป‰เบณเปœเบฑเบเบ•เบปเบงเบฅเบฐเบ„เบญเบ™เบขเบนเปˆ unicode.org

ICU โ€” เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš Unicode เบˆเบฒเบ IBM.

เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹เบเบฒเบ™โ€‹เบ„เบฑเบ”โ€‹เป€เบฅเบทเบญเบโ€‹เป‚เบ”เบโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹ ICU

เบ™เป‰เบณเปœเบฑเบเบ•เบปเบงเบฅเบฐเบ„เบญเบ™เบขเบนเปˆเปƒเบ™ ISO 14651

เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเป€เบเบฑเบ” ISO 14652

เบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบชเบฐเบ•เบฃเบดเบ‡เปƒเบ™ glibc

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™