This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Thai Industrial Standard 620-2533" – news ·newspapers ·books ·scholar ·JSTOR(January 2017) (Learn how and when to remove this message) |
Thai Industrial Standard 620-2533, commonly referred to asTIS-620, is the most common single-bytecharacter encoding for theThai language.[citation needed] The standard is published by theThai 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 inThailand.
The descriptive name of the standard is "Standard for Thai Character Codes for Computers" (Thai: รหัสสำหรับอักขระไทยที่ใช้กับคอมพิวเตอร์). "2533" refers to year 2533 of theBuddhist 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 theIANA preferred charset name for TIS-620, and that charset name is used also forISO/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 theC0 and C1 control codes fromISO/IEC 6429.
TIS-620 is a conventionally structuredExtended ASCII national character set that retains full compatibility with 7-bitASCII and uses the 8-bit range hex A1 to FB for encoding theThai 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 asISO/IEC 8859-11 in 2001, the sole difference being that ISO/IEC 8859-11 defines hex A0 as anon-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 asISO-IR-166 byEcma 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 withinUnicode (ISO/IEC 10646) as well. Unicode'sThai block is U+0E01 through U+0E7F, and TIS-620 Thai characters can be converted toUTF-16 simply by prefixing each byte with 0E and subtracting hex A0 from the value.
| 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 arecombining characters.