Thai Industrial Standard 620-2533 (original) (raw)
From Wikipedia, the free encyclopedia
Thai language character set and encoding
Thai Industrial Standard 620-2533, commonly referred to as TIS-620, is the most common character set and character encoding for the Thai language.[_citation needed_] The standard is published by the Thai Industrial Standards Institute (TISI), an organ of the Ministry of Industry under the Royal Thai Government, and is the sole official standard for encoding Thai in Thailand.
The descriptive name of the standard is "Standard for Thai Character Codes for Computers" (Thai: รหัสสำหรับอักขระไทยที่ใช้กับคอมพิวเตอร์). "2533" refers to year 2533 of the Buddhist Era (1990), the year the present version of the standard was published; a previous revision, TIS 620-2529 (1986), is now obsolete. The code page layout is the same between the two editions.[1]
TIS-620 is the IANA preferred charset name for TIS-620, and that charset name is used also for ISO/IEC 8859-11 (which adds a no-break space character at 0xA0, which is unassigned in TIS-620). When the IANA name is used the codes are supplemented with the C0 and C1 control codes from ISO/IEC 6429.
TIS-620 is a conventionally structured Extended ASCII national character set that retains full compatibility with 7-bit ASCII and uses the 8-bit range hex A1 to FB for encoding the Thai alphabet. Due to the complex combining nature of Thai vowels and diacritics, TIS-620 is intended for information interchange only, and an additional display engine is required to compose characters correctly.
A nearly identical version of TIS-620 has been adopted as ISO/IEC 8859-11 in 2001, the sole difference being that ISO/IEC 8859-11 defines hex A0 as a non-breaking space, while TIS-620 leaves it undefined but reserved. (In practice, this small distinction is usually ignored.)
The ISO/IEC 8859-11 set has also been registered as ISO-IR-166 by Ecma International, but this variation adds explicit escape codes for signaling the beginning and end of Thai character sequences.
The TIS-620 character set ordering has been used essentially as is within Unicode (ISO/IEC 10646) as well. Unicode's Thai block is U+0E01 through U+0E7F, and TIS-620 Thai characters can be converted to UTF-16 simply by prefixing each byte with 0E and subtracting hex A0 from the value.
TIS-620[2]
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | | | ---- | ----------------------------------------------- | ------------------------------------------------ | -------------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------ | ---------------------------------------------------------- | ------------------------------------------------------------- | --------------------------------------------------- | ---------------------------------------------------------- | | 0x | | | | | | | | | | | | | | | | | | 1x | | | | | | | | | | | | | | | | | | 2x | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / | | 3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? | | 4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | | 5x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ | | 6x | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | | 7x | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | | | 8x | | | | | | | | | | | | | | | | | | 9x | | | | | | | | | | | | | | | | | | Ax | | ก | ข | ฃ | ค | ฅ | ฆ | ง | จ | ฉ | ช | ซ | ฌ | ญ | ฎ | ฏ | | Bx | ฐ | ฑ | ฒ | ณ | ด | ต | ถ | ท | ธ | น | บ | ป | ผ | ฝ | พ | ฟ | | Cx | ภ | ม | ย | ร | ฤ | ล | ฦ | ว | ศ | ษ | ส | ห | ฬ | อ | ฮ | ฯ | | Dx | ะ | ั | า | ำ | ิ | ี | ึ | ื | ุ | ู | ฺ | | | | | ฿ | | Ex | เ | แ | โ | ใ | ไ | ๅ | ๆ | ็ | ่ | ้ | ๊ | ๋ | ์ | ํ | ๎ | ๏ | | Fx | ๐ | ๑ | ๒ | ๓ | ๔ | ๕ | ๖ | ๗ | ๘ | ๙ | ๚ | ๛ | | | | |
In the table above, 20 is the regular SPACE character. Code values 00-1F, 7F, 80-9F, A0, DB-DE and FC-FF are not assigned to characters by TIS-620.
Code values D1, D4-DA, E7-EE are combining characters.
- Flohr, Guido (2016) [2006]. "Locale::RecodeData::TIS_620 - Conversion routines for TIS-620". CPAN libintl-perl. 1.0. Archived from the original on 2017-01-15. Retrieved 2017-01-14.
- ^ Meru, Ibrahim (1996-12-03). "Re: Thai encoding standards". Unicode Mail List Archive.
- ^ Leisher, Mark (1998-03-06), TCCII 2533 1009 / TIS 620 Thai, TIS620.TXT
- Official reference (in Thai)
- Announcement in Royal Gazette of TIS 620-2533 and TIS 620-2529
- Mapping of TIS-620 to ISO 10646 at the Wayback Machine (archived June 5, 2013)