Shift JIS

Shift_JIS是日本电脑系统常用的编码表,能容纳全形及半形拉丁字母、平假名、片假名、符号及日语汉字。

命名为Shift_JIS的原因,是在放置全形字符时,要避开原本在0xA1至0xDF放置的半角假名字符。

微软及IBM的日语电脑系统即使用了这编码表,称为CP932

字节结构
以下字元在Shift_JIS用一字节表示。
:ASCII字符(0x20至0x7E),但“\”由“¥”取代
:ASCII控制字符(0x00至0x1F、0x7F)
:JIS X 0201标准内的半角标点及片假名(0xA1至0xDF)
:在部分操作系统中,0xA0用来放置“不换行空格”。

以下字元在Shift_JIS用两字节来表示
:JIS X 0208字集的所有字符
::“第一位字节”使用0x81至0x9F、0xE0至0xEF(共47个)
::“第二位字节”使用0x40至0x7E、0x80至0xFC(共188个)
:使用者定义区
::“第一位字节”使用0xF0至0xFC(共13个)
::“第二位字节”使用0x40至0x7E、0x80至0xFC(共188个)

Shift_JIS编码表并未使用0xFD、0xFE及0xFF。

微软及IBM的日语电脑系统中,加入了以下JIS X 0208没有收录的字符:
*在0x8740-0x879C,加入了83个符号;包括带圈的1-20、罗马数字、片假名合字、计量单位、上双标符引号、编号符号、KK符号、Tel缩写符号、5个带圈的汉字(上中下左右)、3个带括号的汉字(株有代)、4个年号合字(㍻㍾㍽㍼),以及13个数学运算符号。
*在0xFA40-0XFC4B,加入了388个符号和汉字。

Shift_JIS编码表
|

|-
| colspan="2" |  
|-
| colspan="2" align="center" |

|}

JIS转换方法
: s_1 = \begin{cases} \left \lfloor \frac{j_1 + 1}{2} \right \rfloor + 112 & \mbox{when } 33 \le j_1 \le 94 \\
\left \lfloor \frac{j_1 + 1}{2} \right \rfloor + 176 & \mbox{when } 95 \le j_1 \le 126 \end{cases}
: s_2 = \begin{cases} j_2 + 31 + \left \lfloor \frac{j_2}{96} \right \rfloor & \mbox{when } j_1 \mbox{ is odd}\\
j_2 + 126 & \mbox{when } j_1 \mbox{ is even}
\end{cases}

参看
*ASCII
*JIS X 0201
*JIS X 0208
*ISO/IEC 2022
*EUC
*Unicode
*日本产业规格

外部链接
*[http://www.microsoft.com/globaldev/reference/dbcs/932.htm 微软CP932编码表]
*[https://web.archive.org/web/20060805210427/http://lfw.org/text/jp.html Ping: Japanese text encoding]
*[https://web.archive.org/web/20070114165313/http://www.rikai.com/library/kanjitables/kanji_codes.sjis.shtml Shift_JIS中,非ASCII部分的编码表]

  • Forms of Shift-JIS in ICU (International Components for Unicode)

** [http://demo.icu-project.org/icu-bin/convexp?conv=ibm-942 ibm-942 (sjis78)]
** [http://demo.icu-project.org/icu-bin/convexp?conv=ibm-943 ibm-943 (Contains the \u00A5 ↔ \x5C mapping)]
** [http://demo.icu-project.org/icu-bin/convexp?conv=Shift_JIS Shift JIS (Contains the \u005C ↔ \x5C mapping)]
*[http://www.atmarkit.co.jp/fjava/rensai3/mojibake02/mojibake02.html Shift_JIS的发展]

评论 (0)

  • 还没有评论,来抢沙发吧。