日本語環境ユーザーズガイド

文字コード変換規則

ここでは、日本語 EUC、PCK、UTF-8 間の文字コード変換規則について説明します。

ここで説明する変換規則に従うインタフェースは次のものです。

変換規則の概要

ベンダー定義文字、ユーザー定義文字についての変換規則の概要は次のようになります。

図 3–1 文字コード変換規則

ベンダー定義文字、ユーザー定義文字についての文字コード変換規則を表示しています。

日本語 EUC と PC 漢字コード間の変換規則

日本語 EUC と PCK の文字コード変換規則は『TOG 日本ベンダ協議会』の日本語 EUC・シフト JIS コード変換仕様』に基づいています。変換規則の概要は、図 3–1 を参照してください。

  1. JIS X 0201 で規定されている英数字、記号

    変換先でも変換元と同じコードになります。

  2. JIS X 0201 で規定されているカタカナ、記号

    変換先でも変換元と同じコードになります。ただし、日本語EUC 側ではEUCコードセット2を示す SS2 (0x8e) が先頭に付加されます。

  3. JIS X 0208 で規定されている文字

    それぞれのコードセットで割り当てられている JIS X 0208 の同じ区、点用のコードポイントの間で変換します。

  4. JIS X 0212 で規定されている文字

    PCK で IBM 拡張文字として定義されている文字の場合は、次の項目を参照してください。その他の文字については対応する文字がないため、置換文字に変換します。置換文字は「〓」(名称: GETA MARK、PCK の値: 0x819C)

  5. ベンダー定義文字

    1. 特殊記号 (13 区記号)

      付録 A ベンダー定義文字の変換を参照してください。

    2. IBM 拡張文字

      JIS X 0208 または JIS X 0212 で同じ文字が規定されている場合はその文字との間で変換します。どちらにも規定されていない場合は、JIS X 0212 の 83 区、84 区の領域を使って変換します。具体的なコードの対応は、付録 B フォントの移行 を参照してください。

    3. NEC 選定 IBM 拡張文字

      PCK から日本語 EUC への変換では、PCK で一度 IBM 拡張文字に変換してから日本語 EUC に変換します。日本語 EUC から PCK への変換では、IBM 拡張文字から NEC 選定 IBM 拡張へは変換されません。

  6. ユーザー定義文字

    以下の領域を使って変換し、区番号、点番号の小さいほうから順にコードを割り当てるものとします。

 

PCK 

日本語 EUC 

ユーザー定義文字 

1880 文字 

0xf040 - 0xf4fc 

0xf540 - 0xf9fc 

0xf5a1 - 0xfefe 

0x8ff5a1 - 0x8ffefe 

日本語 EUC と UTF-8 間の変換規則

(1) JIS X 0201 で規定されている文字

JIS X 0201:1997 で規定されている文字の名称と、Unicode で規定されている文字の名称との間で対応をとります。

例 :「A」の場合

表 3–1 変換規則

日本語 EUC 

JIS 名称 

Unicode 

Unicode 名称 

UTF-8 

0x41 

LATIN CAPITAL LETTER A 

U+0041 

LATIN CAPITAL LETTER A 

0x41 

ただし、JIS X 0208 と同時に使用する関係上 JIS X 0208:1997 附属書 5 表 1 で代替名称が規定されている文字についてはその代替名称をもとに変換します。

例 :「ア」の場合

表 3–2 変換規則

日本語 EUC 

JIS 名称 

JIS 代替名称 

Unicode 

Unicode 名称 

UTF-8 

0x8eb2 

KATAKANA LETTER A 

HALFWIDTH KATAKANA LETTER A 

U+FF71 

HALFWIDTH KATAKANA LETTER A 

0xefbdb1 

例外として、以下の 2 文字は文字の名称に関係なく同じコードを持つ文字に変換します。

表 3–3 変換規則

日本語 EUC 

JIS 名称 

Unicode 

Unicode 名称 

UTF-8 

0x5c 

YEN SIGN 

U+005c 

REVERSE SOLIDUS 

0x5c 

0x7f 

OVER LINE 

U+007f 

TILDE 

0x7f 

(2) JIS X 0208 で規定されている文字

JIS X 0208:1997 で規定されている文字の名称と、Unicode で規定されている文字の名称との間で対応をとります。

例 :「亜」の場合

表 3–4 変換規則

日本語 EUC 

JIS 区点 

JIS 名称 

Unicode 

Unicode 名称 

UTF-8 

0xb0a1 

16 区 1 点 

CJK UNIFIED IDEOGRAPH-4E9C 

U+4E9C 

CJK UNIFIED IDEOGRAPH-4E9C 

0xe4ba9c 

ただし、JIS X 0201 と同時に使用する関係上 JIS X 0208:1997 附属書 5 表 2 で代替名称が規定されている文字についてはその代替名称をもとに変換します。

例 :「A」の場合

表 3–5 変換規則

日本語 EUC 

JIS 区点 

JIS 名称 

JIS 代替名称 

Unicode 

Unicode 名称 

UTF-8 

0xa3c1 

3 区 33 点 

LATIN CAPITAL LETTER A 

FULLWIDTH LATIN CAPITAL LETTER A 

U+FF21 

FULLWIDTH LATIN CAPITAL LETTER A 

0xefbca1 

(3) JIS X 0212 で規定されている文字

特殊文字 (附属書 1 で規定されている文字) およびアルファベット (附属書 2 で規定されている文字) については、JIS X 0221:1995 の附属書 3 表 4 に基づき変換します。

例 :  

トノスアクセント付きの A を表示しています。

(トノスアクセント付きA) の場合 

表 3–6 変換規則

日本語 EUC 

JIS 区点 

JIS 名称 

Unicode 

Unicode 名称 

UTF-8 

0x8fa6e1 

6 区 65 点 

トノスアクセント付き大文字A (JIS X 0221 附属書3表4 での名称) 

U+0386 

GREEK CAPITAL LETTER A WITH TONOS 

0xe08e86 

例外として、以下の 1 文字は以下のように変換します。

表 3–7 変換規則

日本語 EUC 

JIS 区点 

JIS 名称 

Unicode 

Unicode 名称 

UTF-8 

0x8fa2b7 

2 区 23 点 

TILDE 

U+FF5E 

FULLWIDTH TILDE 

0xefbd9e 

漢字 (附属書 3 で規定されている文字) の中で、JIS X 0221:1995 の附属書 1 表 3 で規定されているものは、その名称をもとに、Unicode で同じ名称で規定されている文字に変換します。

例 :  

JIS X 0221:1995 の附属書 1 表 3 で規定されている文字を表示しています。

の場合 

表 3–8 変換規則

日本語 EUC 

JIS 区点 

JIS 名称 

Unicode 

Unicode 名称 

UTF-8 

0x8fb0a6 

16 区 6 点 

CJK UNIFIED IDEOGRAPH-4E1F 

U+4E1F 

CJK UNIFIED IDEOGRAPH-4E1F 

0xe4b89f 

JIS X 0221:1995 の附属書 1 表 3 で規定されていない文字は、Unicode データベースに記述されている JIS との対応情報にもとづき変換します。

例 :  

JIS X 0221:1995 の附属書 1 表 3 で規定されていない文字を表示しています。

の場合 

表 3–9 変換規則

日本語 EUC 

JIS 区点 

Unicode 

Unicode 名称 

UTF-8 

0x8fb0a1 

16 区 1 点 

U+4E02 

CJK UNIFIED IDEOGRAPH-4E02 

0xe4b882 

(4) ベンダー定義文字

特殊記号 (13 区記号) - 付録 A ベンダー定義文字の変換 を参照してください。

IBM 拡張文字 - 付録 A ベンダー定義文字の変換 を参照してください。

(5) ユーザー定義文字

Unicode 基本複数言語面 (BMP) の私用領域 (PUA) の先頭 (U+E000) から 1880 文字分を使用して以下のように対応させます。対応する領域の概念については、図 3–1 を参照してください。

表 3–10 変換規則

日本語 EUC 

Unicode 

UTF-8 

0xf5a1 ~ 0xf5fe 

U+E000 ~ U+E05D 

0xee8080 ~ 0xee819d 

0xf6a1 ~ 0xf6fe 

U+E05E ~ U+E0BB 

0xee819e ~ 0xee82bb 

... 

   

0xfea1 ~ 0xfefe 

U+E34E ~ U+E3AB 

0xee8d8e ~ 0xee8eab 

     

0x8ff5a1 ~ 0x8ff5fe 

U+E3AC ~ U+E409 

0xee8eac ~ 0xee9089 

0x8ff6a1 ~ 0x8ff6fe 

U+E40A ~ U+E467 

0xee908a ~ 0xee91a7 

... 

   

0x8ffea1 ~ 0x8ffefe 

U+E6FA ~ U+E757 

0xee9bba ~ 0xee9d97 

UTF-8 で使用できる 6400 文字のユーザー定義文字のうち、下記の文字については日本語 EUC 側に対応する領域がないため、置換文字に変換します。

Unicode : U+E758 ~ U+F8FF

UTF-8 : 0xee9d98 ~ 0xeea3bf

置換文字は「?」 (名称 : QUESTION MARK、日本語 EUC の値 : 0x3f) を使用します。

PC 漢字コードと UTF-8 間の変換規則

PC 漢字コードと UTF-8 の変換は、内部で一旦変換元のコードセットから日本語 EUC に変換し、そこから目的のコードセットへ変換します。

PC 漢字コードと日本語 EUC との間の変換、日本語 EUC と UTF-8 との間の変換についての記述を参照してください。