データベース抽出・反映サービス機能 HiRDB Dataextractor Version 8
異なる文字コードのシステム間でデータ抽出・反映する場合,抽出したデータの文字コードを反映側の文字コードに合わせて変換できます。
ここでは,変換できる文字コードについて説明します。この機能の使用方法については,「4.2.3 データ抽出・反映の付加機能」を参照してください。
文字コード変換の対象となる抽出データのデータ型を次に示します。
HiRDB Dataextractorで変換できる文字コードの組み合わせを次に示します。
| 抽出側の文字コード | 反映側の文字コード | ||||
|---|---|---|---|---|---|
| SJIS | EUC | UTF-8 | UTF-16BE※ | UTF-16LE※ | |
| SJIS | − | ○ | ○ | ○ | ○ |
| EUC | ○ | − | ○ | ○ | ○ |
| UTF-8 | ○ | ○ | − | ○ | ○ |
| UTF-16BE※ | ○ | ○ | ○ | − | ○ |
| UTF-16LE※ | ○ | ○ | ○ | ○ | − |
変換できるSJIS文字コードの範囲を次の図に示します。
図3-8 SJIS文字コードの範囲
変換できるEUC文字コードの範囲を次の図に示します。
図3-9 EUC文字コードの範囲
変換できるUTF-8文字コードの範囲を次の表に示します。
表3-8 UTF-8文字コードの範囲
| 第1バイト | 第2バイト | 第3バイト | 変換規則 |
|---|---|---|---|
| 0x00〜0x7F | − | − | 1バイトコードと認識し,対応するコードに変換 |
| 0x80〜0xBF | 0x00〜0xFF | − | 0x20に変換 |
| − | − | ||
| 0xC2〜0xDE | 0x80〜0xFF | − | 2バイトコードと認識し,対応するコードに変換 |
| 上記以外 | − | 環境変数XTUNDEF,またはXTDATAUNDEFの指定に従って変換 | |
| − | − | 未完全コードと認識し,変換しないでスキップ | |
| 0xDF | 0x80〜0xBF | − | 2バイトコードと認識し,対応するコードに変換 |
| 上記以外 | − | 環境変数XTUNDEF,またはXTDATAUNDEFの指定に従って変換 | |
| − | − | 未完全コードと認識し,変換しないでスキップ | |
| 0xE0 | 0xA0〜0xFF | 0x80〜0xFF | 3バイトコードと認識し,対応するコードに変換 |
| 上記以外 | 環境変数XTUNDEF,またはXTDATAUNDEFの指定に従って変換 | ||
| − | 未完全コードと認識し,変換しないでスキップ | ||
| 上記以外 | 0x80〜0xFF | 環境変数XTUNDEF,またはXTDATAUNDEFの指定に従って変換 | |
| 上記以外 | |||
| − | 未完全コードと認識し,変換しないでスキップ | ||
| − | − | ||
| 0xE1〜0xEE | 0x80〜0xFF | 0x80〜0xFF | 3バイトコードと認識し,対応するコードに変換 |
| 上記以外 | 環境変数XTUNDEF,またはXTDATAUNDEFの指定に従って変換 | ||
| − | 未完全コードと認識し,変換しないでスキップ | ||
| 上記以外 | 0x80〜0xFF | 環境変数XTUNDEF,またはXTDATAUNDEFの指定に従って変換 | |
| − | 未完全コードと認識し,変換しないでスキップ | ||
| − | − | ||
| 0xEF | 0x80〜0xBF | 0x80〜0xBF | 3バイトコードと認識し,対応するコードに変換 |
| 上記以外 | 環境変数XTUNDEF,またはXTDATAUNDEFの指定に従って変換 | ||
| − | 未完全コードと認識し,変換しないでスキップ | ||
| 上記以外 | 0x80〜0xBF | 環境変数XTUNDEF,またはXTDATAUNDEFの指定に従って変換 | |
| 上記以外 | |||
| − | 未完全コードと認識し,変換しないでスキップ | ||
| − | − | ||
| 0xF0〜0xED | − | − |
|
| 上記以外 | − | − | 環境変数XTUNDEF,またはXTDATAUNDEFの指定に従って変換 |
変換できるUTF-16文字コードの範囲を次の図に示します。なお,UTF-16にはUTF-16BEコード体系(ビッグエンディアン),UTF-16LEコード体系(リトルエンディアン)があります。
図3-10 UTF-16文字コードの範囲
「図3-8 SJIS文字コードの範囲」の(1)〜(4)の文字コードは次のように変換します。
「図3-8 SJIS文字コードの範囲」の(8)の文字コードは次のように変換します。
文字コード変換用マッピングテーブルに従い,コード変換します。なお,文字コード変換用マッピングテ−ブルに対応するコードが定義されていない場合は未定義コードとして,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。文字コード変換用マッピングテーブルについては,「4.2.3 データ抽出・反映の付加機能」を参照してください。環境変数については,「2.2.3 環境変数の設定」を参照してください。
未定義コードとしてみなされ,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。環境変数については,「2.2.3 環境変数の設定」を参照してください。
文字コード変換用マッピングテーブルに従い,コード変換します。なお,文字コード変換用マッピングテ−ブルに対応するコードが定義されていない場合は未定義コードとして,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。文字コード変換用マッピングテーブルについては,「4.2.3 データ抽出・反映の付加機能」を参照してください。環境変数については,「2.2.3 環境変数の設定」を参照してください。
未定義コードとしてみなされ,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。環境変数については,「2.2.3 環境変数の設定」を参照してください。
文字コード変換用マッピングテーブルに従い,コード変換します。なお,文字コード変換用マッピングテ−ブルに対応するコードが定義されていない場合は未定義コードとして,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。文字コード変換用マッピングテーブルについては,「4.2.3 データ抽出・反映の付加機能」を参照してください。環境変数については,「2.2.3 環境変数の設定」を参照してください。
未定義コードとしてみなされ,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。環境変数については,「2.2.3 環境変数の設定」を参照してください。
「図3-9 EUC文字コードの範囲」の(1)〜(4)の文字コードは次のように変換します。
「図3-9 EUC文字コードの範囲」の(5)の文字コードは次のように変換します。
未定義コードとしてみなされ,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。環境変数については,「2.2.3 環境変数の設定」を参照してください。
文字コード変換用マッピングテーブルに従い,コード変換します。なお,文字コード変換用マッピングテ−ブルに対応するコードが定義されていない場合は未定義コードとして,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。文字コード変換用マッピングテーブルについては,「4.2.3 データ抽出・反映の付加機能」を参照してください。環境変数については,「2.2.3 環境変数の設定」を参照してください。
未定義コードとしてみなされ,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。環境変数については,「2.2.3 環境変数の設定」を参照してください。
文字コード変換用マッピングテーブルに従い,コード変換します。なお,文字コード変換用マッピングテ−ブルに対応するコードが定義されていない場合は未定義コードとして,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。文字コード変換用マッピングテーブルについては,「4.2.3 データ抽出・反映の付加機能」を参照してください。環境変数については,「2.2.3 環境変数の設定」を参照してください。
未定義コードとしてみなされ,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。環境変数については,「2.2.3 環境変数の設定」を参照してください。
文字コード変換用マッピングテーブルに従い,コード変換します。なお,文字コード変換用マッピングテ−ブルに対応するコードが定義されていない場合は未定義コードとして,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。文字コード変換用マッピングテーブルについては,「4.2.3 データ抽出・反映の付加機能」を参照してください。環境変数については,「2.2.3 環境変数の設定」を参照してください。
未定義コードとしてみなされ,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。環境変数については,「2.2.3 環境変数の設定」を参照してください。
UTF-8の4バイト以上の文字コードを検知した場合,環境変数XTUTF8UCS4CHKの指定に従って動作します。環境変数については,「2.2.3 環境変数の設定」を参照してください。
UTF-8の外字コードは,UTF-8のデコード(UTF-8からUnicodeへ変換)規則と,UTF-16のエンコード(UnicodeからUTF-16へ変換)規則に従って,UTF-16の外字コードに変換します。
未定義コードとしてみなされ,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。環境変数については,「2.2.3 環境変数の設定」を参照してください。
文字コード変換用マッピングテーブルに従いコード変換します。なお,文字コード変換用マッピングテーブルに対応するコードが定義されていない場合は未定義コードとして,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。文字コード変換用マッピングテーブルについては,「4.2.3 データ抽出・反映の付加機能」を参照してください。環境変数については,「2.2.3 環境変数の設定」を参照してください。
環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。
文字コード変換用マッピングテーブルに従い,コード変換します。なお,文字コード変換用マッピングテ−ブルに対応するコードが定義されていない場合は未定義コードとして,環境変数XTUNDEF,またはXTDATAUNDEFに指定した値で変換します。文字コード変換用マッピングテーブルについては,「4.2.3 データ抽出・反映の付加機能」を参照してください。環境変数については,「2.2.3 環境変数の設定」を参照してください。
UTF-16の外字コードは,UTF-16のデコード(UTF-16からUnicodeへ変換)規則と,UTF-8のエンコード(UnicodeからUTF-8へ変換)規則に従って,UTF-16の外字コードに変換します。
対応するUTF-8コードに変換します。
ここでは,エンコード,およびデコードによる文字コード変換後の値の求め方について説明します。
UnicodeからUTF-8への変換後の値は,次の手順で求めます。
表3-9 UnicodeとUTF-8の関係
| Unicode (16進数) |
UTF-8 (2進数) |
|||||
|---|---|---|---|---|---|---|
| 1バイト目 | 2バイト目 | 3バイト目 | 4バイト目 | 5バイト目 | 6バイト目 | |
| 00000000〜0000007f | 0vvvvvvv | − | − | − | − | − |
| 00000080〜000007ff | 110vvvvv | 10vvvvvv | − | − | − | − |
| 00000800〜0000ffff | 1110vvvv | 10vvvvvv | 10vvvvvv | − | − | − |
| 00010000〜001fffff | 11110vvv | 10vvvvvv | 10vvvvvv | 10vvvvvv | − | − |
| 00200000〜03ffffff | 111110vv | 10vvvvvv | 10vvvvvv | 10vvvvvv | 10vvvvvv | − |
| 04000000〜7fffffff | 1111110v | 10vvvvvv | 10vvvvvv | 10vvvvvv | 10vvvvvv | 10vvvvvv |
UTF-8からUnicodeへの変換後の値は,UTF-8のエンコードと逆の手順で求めます。
UnicodeからUTF-16への変換後の値の求め方は,Unicodeの値の範囲によって異なります。
(0000)16〜(FFFF)16の範囲のUnicodeは,変換後もそのままUnicodeの値(2バイト)となります。なお,(D800)16〜(DFFF)16の範囲はサロゲート用で,単独のUnicode文字コードとしては使用できないため除きます。
(10000)16以上のUnicodeは,変換後,サロゲートペア(4バイト)となります。(10000)16以上のUnicodeからUTF-16への変換後の値は,次の手順で求めます。
UTF-16からUnicodeへの変換後の値の求め方は,UTF-16の値の範囲によって異なります。
上位サロゲートが次に示す範囲のUTF-16は,変換後もそのままUTF-16の値が使われます。
上位サロゲートが(D800)16〜(DBFF)16で,下位サロゲートが(DC00)16〜(DFFF)16の範囲のUTF-16の場合,Unicodeへの変換後の値は,次の手順で求めます。
All Rights Reserved. Copyright (C) 2006, 2009, Hitachi, Ltd.