# Тэмдэгтийн кодлолын схем

**Тэмдэгтийн кодлолын схем** (character encoding) гэж аливаа тэмдэгтүүдийн бүлгийг өөр нэг бүлэг зүйлтэй (тоо гэх мэт) харгалзуулах код юм.

## Компьютерт

Хамгийн анхны компьютерүүд зөвхөн тоон өгөгдөл боловсруулах чадвартай байсан бол дараа үеийн компьютерүүд мөн текст өгөгдөл боловсруулж чаддаг болсон. Цагаан толгойн үсэг г.м. тэмдэгтүүдээс тогтох өгөгдлийг текст гэнэ. Ийм өгөгдлийг дүрслэнэ гэдэг нь түүнийг бүрдүүлэгч тэмдэгтүүдийг кодлож хадгална гэсэн үг.

1963 онд гарсан ASCII кодлолоор компьютерт, санах ойн 1 байтаар (8 битээр) нийт 256 ширхэг ялгаатай тэмдэгтийг кодлох боломжтой байдаг. Дэлхийн олон орны цагаан толгой 256-аас их тэмдэгттэй байдаг. Ийм цагаан толгой ASCII-хүснэгтэд багтахгүй. Үүнээс улбаалан тэмдэгтийг 2 байтаар кодлох аргачлал орчин үед бий болжээ. Ингэснээр нийт 65,536 ялгаатай тэмдэгт агуулсан тэмдэгтийн хүснэгт үүсгэдэг. Ийм хүснэгтийг Юникод хүснэгт гэнэ. Ж.нь кирилл монгол үсгүүд Юникод хүснэгтэнд стандартчилагдсан байдаг.

## Нэршил

Кодлолд боломжит утгуудыг эрэмбэлэн харуулсан мөн тооны нүдтэй хүснэгт үүсгэж болох ба үүнийг тэмдэгтийн хүснэгт (character table) хэмээн нэрийднэ. Харин хүснэгтийн нэг нүдний дугаарыг тэр нүдэнд байрлах тэмдэгтийн код (character code) гэнэ. Тэмдэгтийн код 0..255 завсарт оршино. Аливаа тэмдэгт компьютерын санах ойд энэ кодоор хадгалагддаг.

Тэмдэгтийн хүснэгтийг тухайн компьютерын мэддэг цагаан толгой гэж ойлгож болно. Тэгвэл өөр өөр төрлийн компьютерүүдийн цагаан толгой нь ялгаатай байдаг. Ө.х. тэмдэгтийн хүснэгтэд байрлах тэмдгүүд нь ялгаатай байна. Тэр бүү хэл, нэг компьютерт байрлах өөр өөр үйлдлийн системүүдийн тэмдэгтийн хүснэгтүүд ялгаатай байдаг.

## Түгээмэл кодлолууд

* ISO 646
	+ ASCII
* EBCDIC
	+ CP37
	+ CP930
	+ CP1047
* ISO 8859:
	+ ISO 8859-1 Баруун Европ
	+ ISO 8859-2 Баруун, Төв Европ
	+ ISO 8859-3 Баруун Европ ба Өмнөд Европийн (Турк, Мальт, Эсперанто)
	+ ISO 8859-4 Баруун Европ ба Бальтийн орнууд (Литва, Эстон, Латви, Гренланд, Сами)
	+ ISO 8859-5 Кирилл үсэг
	+ ISO 8859-6 Араб
	+ ISO 8859-7 Грек
	+ ISO 8859-8 Еврэй
	+ ISO 8859-9 Баруун Европ ба Турк хэлний засагдсан тэмдэгтүүд
	+ ISO 8859-10 Баруун Европ ба баруун хойд Европын хэлнүүд, Исланд
	+ ISO 8859-11 Тайланд
	+ ISO 8859-13 Бальтийн хэлнүүд ба Польш
	+ ISO 8859-14 Кельт хэлнүүд (Ирланд Гаэль, Шотланд, Уэльс)
	+ ISO 8859-15 Еврогийн тэмдэгт гэх зэргийг ISO 8859-1 дээр нэмсэн
	+ ISO 8859-16 Төв, Зүүн, Өмнөд Европын хэлнүүд (Польш, Чех, Словак, Серби, Хорват, Словени, Унгар, Албани, Румын, Герман, Итали)
* CP437, CP737, CP850, CP852, CP855, CP857, CP858, CP860, CP861, CP863, CP865, CP866, CP869
* MS-Windows character sets:
	+ Windows-1250: Латин үсэг хэрэглэдэг Төв Европын хэлнүүд, (Польш, Чех, Словак, Унгар, Словени, Серби, Хорват, Румын, Албани)
	+ Windows-1251: Кирилл цагаан толгойнууд
	+ Windows-1252: Барууны хэлнүүд
	+ Windows-1253: Грек
	+ Windows-1254: Турк
	+ Windows-1255: Еврэй
	+ Windows-1256: Араб
	+ Windows-1257: Бальтийн хэлнүүд
	+ Windows-1258: Вьетнам
* Mac OS Roman
* KOI8-R, KOI8-U, KOI7
* MIK
* ISCII
* TSCII
* VISCII
* JIS X 0208: Өргөн хэрэглэгддэг Японы хэлний кодлол, хэд хэдэн кодлох схемтэй
	+ Shift JIS (Microsoft Code page 932 is a dialect of Shift\_JIS)
	+ EUC-JP
	+ ISO-2022-JP
* JIS X 0213: IS X 0208-н дэлгэрэнгүй хувилбар.
	+ Shift\_JIS-2004
	+ EUC-JIS-2004
	+ ISO-2022-JP-2004
* Хятад Guobiao
	+ GB 2312
	+ GBK (Microsoft Code page 936)
	+ GB 18030
* Taiwan Big5 (Microsoft Code page 950 гэж илүү алдартай хувилбар байгаа)
* Хонг Конг HKSCS
* Солонгос
	+ KS X 1001: Солонгос хэлний Double-byte стандарт
	+ EUC-KR
	+ ISO-2022-KR
* Юникод (болон түүний хувилбарууд). UTF-8-г харна уу
* ANSEL буюу ISO/IEC 6937

## Гадаад холбоос

* Character sets registered by Internet Assigned Numbers Authority
* Unicode Technical Report #17: Character Encoding Model