JIS X 0201

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
JIS X 0201
JIS-C-6220.svg
JIS X 0201 8-bit code page
MIME / IANA8-bit: JIS_X0201
7-bit Roman: JIS_C6220-1969-ro
7-bit Kana: JIS_C6220-1969-jp
Alias(es)JIS C 6220
8-bit: csHalfWidthKatakana
Roman: ISO646-JP, iso-ir-14
Kana: iso-ir-13, x0201-7
Language(s)Japanese (basic support), English
StandardJIS X 0201:1969
ClassificationISO 646, Extended ISO 646
Preceded byWabun code, JIS C 0803
Succeeded byShift JIS
Other related encoding(s)N-byte Hangul code

JIS X 0201, a Japanese Industrial Standard developed in 1969 (then called JIS C 6220 until the JIS category reform), was the first Japanese electronic character set to become widely used. It is either a 7-bit encoding or an 8-bit encoding, although the 8-bit form is dominant for modern use (or was until Unicode, e.g. UTF-8 took over). The full name of this standard is 7-bit and 8-bit coded character sets for information interchange (7ビット及び8ビットの情報交換用符号化文字集合).

The first 96 codes comprise an ISO 646 variant, mostly following ASCII with some differences, while the second 96 character codes represent the phonetic Japanese katakana signs. Since the encoding does not provide any way to express hiragana or kanji, it is only capable of expressing simplified written Japanese. Nevertheless, it is possible to express, at least phonetically, the full range of sounds in the language. In the 1970s, this was acceptable for media such as text mode computer terminals, telegrams, receipts or other electronically handled data.

JIS X 0201 was supplanted by subsequent encodings such as Shift JIS (which combines this standard and JIS X 0208) and later Unicode.

History[edit]

The Comite Consultatif International Telephonique et Telegraphique (CCITT) introduced the International Telegraph Alphabet No.2 (ITA2) code as an international standard, which was the 5-bit Latin encoding. Most countries have their own national standards based on this. In Japan, the Agency of Industrial Science and Technology (AIST) standardized it as the 6-bit character codes of JIS C 0803-1961 (Keyboard layout and codes for teleprinters), which combined with katakana characters. However, it didn't match the industry requirements because the character map was small, and the code layout was impractical. The AIST considered a practical character encoding to replace various codes used in Japan.[1]

In 1963, ISO introduced a draft of ISO R 646 (6 and 7-bit coded character sets for information processing interchange). AIST committed the conjunction of ISO R 646 and katakana mapping to the Information Processing Society of Japan (IPSJ). IPSJ formed the code standardization committee. The committee didn't adopt the 6-bit form of ISO's draft because the katakana set couldn't fit into its character map. The early JIS draft mapped small katakana characters next to each of their normal katakana characters. It was considered to be convenient for sorting by Gojūon order. Some committee members criticized it would complicate the mechanic of keyboards which only handled normal katakana characters. The later draft mapped small katakana characters to positions 0xA7-0xAF. In 1966, the fourth draft of ISO specified the national currency symbol at 0x24, and the JIS committee planned to map the yen sign. The first edition of ISO 646 was published in 1967. It specified the ASCII's dollar sign 0x24 as an invariant character, so the JIS committee decided to replace the ASCII's backslash 0x5c (one of variant characters) with the yen sign.

JIS C 6220 (Codes for information interchange, 情報交換用符号) was published in 1969. Its number was changed to JIS X 0201 due to the JIS category reform in 1987, and the name was changed to 7-bit and 8-bit coded character sets for information interchange (7ビット及び8ビットの情報交換用符号化文字集合) in the 1990 edition.

The character set of JIS X 0201 had been widely used in Japan. The Nationwide Banking Data Communication System (全国銀行データ通信システム), the largest funds transfer system in Japan, was established in 1973. Transaction messages between banks used a subset of JIS X 0201. The system was used until 2018, and it was replaced by the ZEDI (The Nationwide Banking Electronic Data Interchange System, 全銀EDIシステム) which could handle hiragana and kanji characters.[2] In 1978, the JIS C 6226 (JIS X 0208) 2-byte character set was developed to express hiragana and kanji characters. It includes katakana characters, but their codes and layout are different from JIS X 0201. Computer manufacturers developed their own extensions of JIS X 0208 to retain compatibility with JIS X 0201. In 1982, the Microsoft Kanji encoding scheme (Codepage 932 of MS-DOS) and Digital Research's SJC26 (for Japanese CP/M-86) were developed to combine JIS X 0201 single-byte encoding and JIS X 0208 double byte encoding without shift out and shift in characters.[3] They were called Shift JIS, which became the industrial standard for personal computers.

Implementation details[edit]

7-bit Roman (shift in) set
7-bit Kana (shift out) set

The first half (Roman set) of JIS X 0201 constitutes a Japanese variant of ISO 646, amounting to ASCII with backslash (\) and tilde (~) replaced by yen (¥) and overline (‾),[4] while the second half (Kana set) consists mainly of katakana. Control characters are specified in JIS X 0211.

In the 7-bit format, the shift out control character (0x0E) switches to the Kana set and shift in (0x0F) switches to the Roman set.[5][6] In the 8-bit format, given in the chart below, bytes with the most significant bit set (i.e. 0x80–0xFF) are used for the Kana set and bytes with it unset (i.e. 0x00–0x7F) are used otherwise.

Names used specifically for the 7-bit Roman set include "JISCII",[7] "JIS Roman",[8] "ISO646-JP",[9][10] "JIS C6220-1969-ro",[10][9] "Japanese-Roman",[11] "Japan 7-Bit Latin",[12] and "ISO-IR-14",[9][10][6] whereas names used specifically for the 7-bit Kana set include "ISO-IR-13",[5][9][10] "JIS C6220-1969-jp"[9][10] and "x0201-7".[9][10]

The substitution of the yen symbol for backslash can make paths on DOS and Windows-based computers with Japanese support display strangely, like "C:¥Program Files¥", for example.[13] Another similar problem is C programming language's control characters of string literals, like printf("Hello, world.¥n");.

Codepage layout[edit]

The following table is the original 8-bit coded character set of JIS X 0201 (with the kana set indicated by bytes with the high bit set).[14][15]

8-bit form of JIS X 0201-1997
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x C0 codes[a]
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 { | } DEL
8x C1 codes or Empty Block[a]
9x
Ax
Bx ソ
Cx
Dx
Ex
Fx
  Differences from ASCII

As part of Shift JIS[edit]

Following is the mapping used for JIS X 0201 as part of Shift JIS,[16][17] i.e. showing the 8-bit form of JIS X 0201, and mapping the Katakana characters to the Halfwidth and Fullwidth Forms block (which in turn derives its half width kana layout from JIS X 0201).

Single-byte character set of Shift JIS
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
  First bytes of double-byte Shift JIS characters.[3]

Alternative mapping of katakana[edit]

The basic ISO-2022-JP profile does not permit the Kana set of JIS X 0201, only the Roman set and JIS X 0208 (although ISO 2022 / JIS X 0202 itself permits it). Accordingly, when converting JIS X 0201 katakana (or Unicode half-width kana, which use the same layout) to ISO-2022-JP, the following mapping or transformation is often used.[19] This allows the kana to be converted to JIS X 0208.

In theory, this mapping is equally correct, as JIS X 0201 itself does not specify display width, although in practice (and especially in duospaced environments) JIS X 0201 is used for half-width katakana.

For ease of comparison with the chart above, the mapping is shown below over the JIS X 0201 katakana encoding and with the high bit set.

JIS X 0208 compatible mappings for JIS X 0201 katakana[20]
0 1 2 3 4 5 6 7 8 9 A B C D E F
Ax
Bx
Cx
Dx [b] [c]

Variants and extensions[edit]

Shift JIS[edit]

IBM's implementations[edit]

Code page 897 is IBM's implementation of the 8-bit form of JIS X 0201. It includes several additional graphical characters in the C0 control characters area, and the code points in question may be used as control characters or graphical characters depending on the context,[22] similarly in concept to OEM-US, but with different graphical characters. The C0 rows are shown below. IBM also designate pure 8-bit JIS X 0201 without these control code replacements as Code page 1139.[23] Another variant, including a smaller subset of these C0 replacement graphics (including only the box drawing characters in 0x01–06, 0x11, 0x15–17 and 0x19 and the line/arrow characters in 0x1B–1F), but using a different style of up-arrow (U+21E7 ) at 0x1C, is designated Code page 1086.[24]

Code page 897, rows 0x00 and 0x10 only[29]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL BS LF FF CR
1x DC1 DC3 CAN

IBM also implements the 7-bit Roman set of JIS X 0201 as Code page 895[30] and the 7-bit Kana set as Code page 896 for use as ISO 2022 or EUC-JP code-sets. Code page 896, in addition to standard JIS X 0201 assignments, defines five additional assignments, shown below.[31] Although use of these extended characters is not permitted by the associated CCSID 896,[32] they are permitted by the alternative CCSID 4992.[33]

Code page 896, row 0x60 only[31]
0 1 2 3 4 5 6 7 8 9 A B C D E F
6x ¢ £ ¬ \ ~

IBM's Code page 1041 is an extended version of Code page 897, encoding these five IBM extended[34] characters in alternative locations which are compatible with Shift JIS (respectively 0x80, 0xA0, 0xFD, 0xFE and 0xFF).[35] Code page 911, another extended 8-bit JIS X 0201 implementation (which uses the same C0 replacement graphics as Code page 1086) encodes the pound (sterling) sign (£) at 0xE1, similarly to Code page 896 with the eight bit set, but differs by encoding the cent sign (¢) at 0xE2 and the not-sign (¬) at 0xE3.[36]

IBM's Code page 903 is encoded for use as the single byte component of certain simplified Chinese character encodings,[37] accompanying the ASCII-based Code page 904 used with traditional Chinese encodings.[38][39] Despite this, Code page 903 follows ISO 646-JP / the Roman half of JIS X 0201, in that it replaces the ASCII backslash 0x5C (rather than the ASCII dollar sign 0x24 as in GB 1988 / ISO 646-CN) with the yen/yuan sign. It also uses the same C0 replacement graphics as code page 897.[40] Code page 1042 extends code page 903 with the pound (sterling) sign at 0x80, and the not-sign, backslash and tilde at their Code page 1041 locations.[41]

Others[edit]

Footnotes[edit]

  1. ^ a b Control characters are specified in JIS X 0211.
  2. ^ Gets mapped to correspond to the JIS X 0208 character (mapped to U+309B), not compatibility normalization (which would be U+3099, the combining version).[21]
  3. ^ Gets mapped to correspond to the JIS X 0208 character (mapped to U+309C), not compatibility normalization (which would be U+309A, the combining version).[21]

References[edit]

  1. ^ 行政管理庁 (The Agency of Administrative Management) (1968). 行政における電子計算機の共同利用に関する調査研究報告書 (in Japanese). 行政事務機械化研究協会. pp. 108–113. OCLC 703804474.
  2. ^ "経理部門の人材不足で悩む会社に朗報、金融EDI「ZEDI」が2018年稼働へ". Nikkei X-TECH. 2017-11-30. Retrieved 2019-07-24.
  3. ^ a b 西田, 憲正 (1983-12-19). "Unix風の機能を持ち込んだ日本語MS-DOS 2.0の機能と内部構造". 日経エレクトロニクス (in Japanese). Nikkei McGraw-Hill: 165–190. ISSN 0385-1680.
  4. ^ "3.1.1 Details of Problems". Problems and Solutions for Unicode and User/Vendor Defined Characters. The Open Group Japan. Archived from the original on 1999-02-03. Retrieved 2019-04-15.
  5. ^ a b Japanese Industrial Standards Committee. ISO-IR-13: The Japanese KATAKANA graphic set of characters (PDF). ITSCJ/IPSJ. Archived from the original (PDF) on 2022-03-10.
  6. ^ a b Japanese Industrial Standards Committee. ISO-IR-14: The Japanese Roman graphic set of characters (PDF). ITSCJ/IPSJ. Archived from the original (PDF) on 2022-03-10.
  7. ^ "IBM-943 and IBM-932", IBM Knowledge Center, IBM
  8. ^ "kUnicodeForceASCIIRangeMask", Apple Developer Documentation, Apple Inc
  9. ^ a b c d e f RFC 1345
  10. ^ a b c d e f "Character Sets". IANA.
  11. ^ da Cruz, Frank (2010-04-02), "Kermit and MIME Character-Set Names", Kermit Project, Columbia University
  12. ^ "CP 00895", IBM Globalization — Code page identifiers, IBM, 9 November 2020
  13. ^ Kaplan, Michael S. (2005-09-17). "When is a backslash not a backslash?".
  14. ^ JIS X 0201-1997 (in Japanese). Japanese Standards Association. 1997-02-28. p. 17.
  15. ^ Unicode Consortium (2015-12-02). "JIS X 0201 (1976) to Unicode 1.1 Table". unicode.org. Retrieved 2021-10-01.
  16. ^ "ibm-943_P130-1999". ICU Demonstration - Converter Explorer. International Components for Unicode.
  17. ^ Apple, Inc (2005-04-05) [1995-04-15]. "JAPANESE.TXT: Map (external version) from Mac OS Japanese encoding to Unicode 2.1 and later". Unicode Consortium.
  18. ^ van Kesteren, Anne (2019-02-11). "12.2.2. ISO-2022-JP encoder". Encoding Standard. WHATWG.
  19. ^ The WHATWG Encoding Standard, for instance, uses it as a transformation when encoding Unicode half-width kana data to ISO-2022-JP.[18]
  20. ^ van Kesteren, Anne (2018-01-06). "Index ISO-2022-JP Katakana". Encoding Standard. WHATWG.
  21. ^ a b van Kesteren, Anne (2019-02-11). "5. Indexes". Encoding Standard. WHATWG.
  22. ^ "Code page identifiers - CP 00897". IBM Globalization. IBM. Archived from the original on 2016-03-17.
  23. ^ "Code Page 01139" (PDF). IBM. Archived from the original (PDF) on 2015-07-08. Retrieved 2021-10-22.
  24. ^ "Code Page 01086" (PDF). IBM. Archived from the original (PDF) on 2015-07-08. Retrieved 2021-10-22.
  25. ^ "CP00897.pdf" (PDF). IBM. Archived (PDF) from the original on 2019-01-12. Retrieved 2017-12-05.
  26. ^ "CP00897.txt". IBM. Archived from the original on 2019-01-12. Retrieved 2017-12-05.
  27. ^ "Converter Explorer - ibm-943_P130-1999". ICU Demonstration. International Components for Unicode.
  28. ^ "Coded character set identifiers - CCSID 943". IBM Globalization. IBM. Archived from the original on 2016-03-15.
  29. ^ Graphics are listed per CP00897.pdf and CP00897.txt provided by IBM.[25][26] Controls are listed, in absence of graphical function or where they differ from ASCII, per the ibm-943_P130-1999 codec provided by IBM to International Components for Unicode[27] (IBM-943 is a Code page 897 superset).[28] SUB is assigned to 0x7F.
  30. ^ "CP00895.pdf" (PDF). IBM. Archived (PDF) from the original on 2017-12-08. Retrieved 2017-12-06.
  31. ^ a b "CP00896.pdf" (PDF). IBM. Archived (PDF) from the original on 2019-01-12. Retrieved 2017-12-05.
  32. ^ "Coded character set identifiers - CCSID 896". IBM Globalization. IBM. Archived from the original on 2016-03-26.
  33. ^ "Coded character set identifiers - CCSID 4992". IBM Globalization. IBM. Archived from the original on 2016-03-27.
  34. ^ "11.2 - IBM Extended SBCS Set" (PDF). IBM Japanese Graphic Character Set for Extended UNIX Code (EUC). IBM. p. 315. Archived (PDF) from the original on 2019-01-12. Retrieved 2017-12-07.
  35. ^ "CP01041.pdf" (PDF). IBM. Archived (PDF) from the original on 2019-01-12. Retrieved 2017-12-05.
  36. ^ "Code Page 00911" (PDF). IBM. Archived from the original (PDF) on 2015-07-08. Retrieved 2021-10-22.
  37. ^ "Code page identifiers - CP 903". IBM Globalization. IBM. Archived from the original on 2016-03-17.
  38. ^ "Coded character set identifiers - CCSID 904". IBM Globalization. IBM. Archived from the original on 2016-03-27.
  39. ^ "CP00904.pdf" (PDF). IBM. Archived (PDF) from the original on 2019-01-12. Retrieved 2018-05-11.
  40. ^ "CP00903.pdf" (PDF). IBM. Archived (PDF) from the original on 2019-01-12. Retrieved 2018-02-17.
  41. ^ "Code Page 01042" (PDF). IBM. Archived from the original (PDF) on 2015-07-08.

External links[edit]