JIS X 0201

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 7-bit encoding or 8-bit encoding, although 8-bit encoding is dominant for modern use. 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 1980s, 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 the invariant character, so the JIS committee decided to replace the ASCII's backslash 0x5c (one of variant characters) with the yen sign. However, CCITT introduced the International Alphabet No.5 (IA5) in 1968, which stated that there was no requirement for the dollar sign and it could be replaced with the international currency sign (¤).[2] ISO 646 was revised in 1973 to conform with IA5.[3]

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 had been 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.[4] In 1978, 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.[5] 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 (‾),[6] 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.[7][8] 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",[9] "JIS Roman",[10] "ISO646-JP",[11][12] "JIS C6220-1969-ro",[12][11] "Japanese-Roman",[13] "Japan 7-Bit Latin",[14] and "ISO-IR-14",[11][12][8] whereas names used specifically for the 7-bit Kana set include "ISO-IR-13",[7][11][12] "JIS C6220-1969-jp"[11][12] and "x0201-7".[11][12]

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.[15] 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).[16]

8-bit form of JIS X 0201-1997
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_
0
C0 codes
0000-001F
1_
16
2_
32
SP
0020
!
0021
"
0022
#
0023
$
0024
%
0025
&
0026
'
0027
(
0028
)
0029
*
002A
+
002B
,
002C
-
002D
.
002E
/
002F
3_
48
0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
:
003A
;
003B
<
003C
=
003D
>
003E
?
003F
4_
64
@
0040
A
0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
I
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
5_
80
P
0050
Q
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A
[
005B
¥
00A5
]
005D
^
005E
_
005F
6_
96
`
0060
a
0061
b
0062
c
0063
d
0064
e
0065
f
0066
g
0067
h
0068
i
0069
j
006A
k
006B
l
006C
m
006D
n
006E
o
006F
7_
112
p
0070
q
0071
r
0072
s
0073
t
0074
u
0075
v
0076
w
0077
x
0078
y
0079
z
007A
{
007B
|
007C
}
007D

203E
DEL
007F
8_
128
C1 codes or Empty Block
0080-009F
9_
144
A_
160

3002

300C

300D

3001

30FB

30F2

30A1

30A3

30A5

30A7

30A9

30E3

30E5

30E7

30C3
B_
176

30FC

30A2

30A4

30A6

30A8

30AA

30AB

30AD

30AF

30B1

30B3

30B5

30B7

30B9

30BB

30BD
C_
192

30BF

30C1

30C3

30C6

30C8

30CA

30CB

30CC

30CD

30CE

30CF

30D2

30D5

30D8

30DB

30DE
D_
208

30DF

30E0

30E1

30E2

30E4

30E6

30E8

30E9

30EA

30EB

30EC

30ED

30EF

30F3

309B

309C
E_
224
F_
240

As part of Shift JIS[edit]

Following is the mapping used for JIS X 0201 as part of Shift_JIS,[17][18] 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
0_
0
1_
16
2_
32
SP
0020
!
0021
"
0022
#
0023
$
0024
%
0025
&
0026
'
0027
(
0028
)
0029
*
002A
+
002B
,
002C
-
002D
.
002E
/
002F
3_
48
0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
:
003A
;
003B
<
003C
=
003D
>
003E
?
003F
4_
64
@
0040
A
0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
I
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
5_
80
P
0050
Q
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A
[
005B
¥
00A5
]
005D
^
005E
_
005F
6_
96
`
0060
a
0061
b
0062
c
0063
d
0064
e
0065
f
0066
g
0067
h
0068
i
0069
j
006A
k
006B
l
006C
m
006D
n
006E
o
006F
7_
112
p
0070
q
0071
r
0072
s
0073
t
0074
u
0075
v
0076
w
0077
x
0078
y
0079
z
007A
{
007B
|
007C
}
007D

203E
8_
128
9_
144
A_
160

FF61

FF62

FF63

FF64

FF65

FF66

FF67

FF68

FF69

FF6A

FF6B

FF6C

FF6D

FF6E

FF6F
B_
176

FF70

FF71

FF72

FF73

FF74

FF75

FF76

FF77

FF78

FF79

FF7A

FF7B

FF7C

FF7D

FF7E
ソ
FF7F
C_
192

FF80

FF81

FF82

FF83

FF84

FF85

FF86

FF87

FF88

FF89

FF8A

FF8B

FF8C

FF8D

FF8E

FF8F
D_
208

FF90

FF91

FF92

FF93

FF94

FF95

FF96

FF97

FF98

FF99

FF9A

FF9B

FF9C

FF9D

FF9E

FF9F
E_
224
F_
240

     Red cells indicate first bytes of double-byte Shift JIS characters.[5]

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.[20] 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[21]
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
A_
3002

300C

300D

3001

30FB

30F2

30A1

30A3

30A5

30A7

30A9

30E3

30E5

30E7

30C3
B_
30FC

30A2

30A4

30A6

30A8

30AA

30AB

30AD

30AF

30B1

30B3

30B5

30B7

30B9

30BB

30BD
C_
30BF

30C1

30C4

30C6

30C8

30CA

30CB

30CC

30CD

30CE

30CF

30D2

30D5

30D8

30DB

30DE
D_
30DF

30E0

30E1

30E2

30E4

30E6

30E8

30E9

30EA

30EB

30EC

30ED

30EF

30F3
[a]
309B
[b]
309C
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F

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,[23] similarly in concept to OEM-US, but with different graphical characters. The C0 rows are shown below.

Code page 897, rows 0x00 and 0x10 only[28]
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_
0
NUL
0000

2554

2557

255A

255D

2551

2550

FFEC
BS
0008

FFEE
LF
000A

303F
FF
000C
CR
000D

FFED

263C
1_
16

256C
DC1
0011

2195
DC3
0013

2593

2569

2566

2563
CAN
0018

2560
/FS
2591/001C

21B5
/DEL
FFEA/007F

FFE8

FFEB

FFE9

IBM also implements the 7-bit Roman set of JIS X 0201 as Code page 895[29] 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.[30] Although use of these extended characters is not permitted by the associated CCSID 896,[31] they are permitted by the alternative CCSID 4992.[32]

Code page 896, row 0x60 only[30]
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
6_
96
¢
00A2
£
00A3
¬
00AC
\
005C
~
007E

IBM's Code page 1041 is an extended version of Code page 897, encoding these five IBM extended[33] characters in alternative locations which are compatible with Shift JIS (respectively 0x80, 0xA0, 0xFD, 0xFE and 0xFF).[34]

IBM's Code page 903 is encoded for use as the single byte component of certain simplified Chinese character encodings.[35] Despite this, it 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.[36] It is closely related to Code page 904, which is encoded for use as the single byte component of certain traditional Chinese character encodings,[37][38] and uses the same C0 replacement graphics, but follows ASCII.[39]

Others[edit]

Footnotes[edit]

  1. ^ 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).[22]
  2. ^ 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).[22]

References[edit]

  1. ^ 行政管理庁 (The Agency of Administrative Management) (1968). 行政における電子計算機の共同利用に関する調査研究報告書 (in Japanese). 行政事務機械化研究協会. pp. 108–113. OCLC 703804474.
  2. ^ CCITT (1969). "Recommendation V.3: International Alphabet No. 5". White Book: Volume VIII - CCITT (Mar Del Plata, 1968). International Telecommunication Union. pp. 11–19. Retrieved 2019-07-25.
  3. ^ Yasuoka, Koichi; Yasuoka, Motoko (2006). "2.2 ASCIIとISO R 646とJIS C 6220". 文字符号の歴史 (in Japanese). 共立出版. pp. 89–112. ISBN 4-320-12102-3.
  4. ^ "経理部門の人材不足で悩む会社に朗報、金融EDI「ZEDI」が2018年稼働へ". Nikkei X-TECH. 2017-11-30. Retrieved 2019-07-24.
  5. ^ a b 西田, 憲正 (1983-12-19). "Unix風の機能を持ち込んだ日本語MS-DOS 2.0の機能と内部構造". 日経エレクトロニクス (in Japanese). Nikkei McGraw-Hill: 165–190. ISSN 0385-1680.
  6. ^ "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.
  7. ^ a b ISO-IR 013: The Japanese KATAKANA graphic set of characters (PDF), Information Technology Standards Commission of Japan (ITSCJ/IPSJ)
  8. ^ a b ISO-IR 014: The Japanese Roman graphic set of characters (PDF), Information Technology Standards Commission of Japan (ITSCJ/IPSJ)
  9. ^ "IBM-943 and IBM-932", IBM Knowledge Center, IBM
  10. ^ "kUnicodeForceASCIIRangeMask", Apple Developer Documentation, Apple Inc
  11. ^ a b c d e f RFC 1345
  12. ^ a b c d e f "Character Sets". IANA.
  13. ^ da Cruz, Frank (2010-04-02), "Kermit and MIME Character-Set Names", Kermit Project, Columbia University
  14. ^ "CP 00895", IBM Globalization — Code page identifiers, IBM
  15. ^ Kaplan, Michael S. (2005-09-17). "When is a backslash not a backslash?".
  16. ^ JIS X 0201-1997 (in Japanese). Japanese Standards Association. 1997-02-28. p. 17.
  17. ^ "ibm-943_P130-1999". ICU Demonstration - Converter Explorer. International Components for Unicode.
  18. ^ 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.
  19. ^ van Kesteren, Anne (2019-02-11). "12.2.2. ISO-2022-JP encoder". Encoding Standard. WHATWG.
  20. ^ The WHATWG Encoding Standard, for instance, uses it as a transformation when encoding Unicode half-width kana data to ISO-2022-JP.[19]
  21. ^ van Kesteren, Anne (2018-01-06). "Index ISO-2022-JP Katakana". Encoding Standard. WHATWG.
  22. ^ a b van Kesteren, Anne (2019-02-11). "5. Indexes". Encoding Standard. WHATWG.
  23. ^ "Code page identifiers - CP 00897". IBM Globalization. IBM. Archived from the original on 2016-03-17.
  24. ^ "CP00897.pdf" (PDF). IBM. Archived (PDF) from the original on 2019-01-12. Retrieved 2017-12-05.
  25. ^ "CP00897.txt". IBM. Archived from the original on 2019-01-12. Retrieved 2017-12-05.
  26. ^ "Converter Explorer - ibm-943_P130-1999". ICU Demonstration. International Components for Unicode.
  27. ^ "Coded character set identifiers - CCSID 943". IBM Globalization. IBM. Archived from the original on 2016-03-15.
  28. ^ Graphics are listed per CP00897.pdf and CP00897.txt provided by IBM.[24][25] 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[26] (IBM-943 is a Code page 897 superset).[27] SUB is assigned to 0x7F.
  29. ^ "CP00895.pdf" (PDF). IBM. Archived (PDF) from the original on 2017-12-08. Retrieved 2017-12-06.
  30. ^ a b "CP00896.pdf" (PDF). IBM. Archived (PDF) from the original on 2019-01-12. Retrieved 2017-12-05.
  31. ^ "Coded character set identifiers - CCSID 896". IBM Globalization. IBM. Archived from the original on 2016-03-26.
  32. ^ "Coded character set identifiers - CCSID 4992". IBM Globalization. IBM. Archived from the original on 2016-03-27.
  33. ^ "11.2 - IBM Extended SBCS Set". IBM Japanese Graphic Character Set for Extended UNIX Code (EUC) (PDF). IBM. p. 315. Archived (PDF) from the original on 2019-01-12. Retrieved 2017-12-07.
  34. ^ "CP01041.pdf" (PDF). IBM. Archived (PDF) from the original on 2019-01-12. Retrieved 2017-12-05.
  35. ^ "Code page identifiers - CP 903". IBM Globalization. IBM. Archived from the original on 2016-03-17.
  36. ^ "CP00903.pdf" (PDF). IBM. Archived (PDF) from the original on 2019-01-12. Retrieved 2018-02-17.
  37. ^ "Code page identifiers - CP 904". IBM Globalization. IBM.[permanent dead link]
  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.

External links[edit]