DataMagic 技術コラム Vol.3

〈文字コード変換:Unicode(UTF-8)編〉

はじめに

Unicodeは、国際化対応が必要なソフトウェア、主要なOS、プログラミング言語で標準的に用いられています。現実的にネット関連システム、Java/.NETで稼動するシステム、グローバル展開を行っている企業のシステムではUnicodeが一般的に利用されています。

しかし、旧来の業務システムにおいては、JIS,Shift_JIS,EUC,EBCDICといった文字コードが主に使われており、Unicodeへ統一することが難しいのも事実です。

しかし、DataMagicを用いることにより、旧来の業務システムで利用していた文字コードからUnicodeへの変換が可能となるので、さまざまなシステムにおける日本語コードの差異を埋めることが出来ます。

本TIPSでは、IBMメインフレームの固定長データをUnicode(UTF-8)の固定長データに変換する例を紹介します。なお、本TIPSを利用するには、DataMagicがコンピュータにインストールされていることが条件となります。DataMagicの入手先やインストール方法などについては、別稿の「DataMagicをインストールする」を参照してください。

操作方法

手順1 - コード変換対象の固定長データを用意する

まずは、メインフレームのデータを用意します。データが用意出来たら、DataMagicが導入されているPCの下記のフォルダに保存します。こちらのデータは第1回の技術コラムにおいて使用したデータと同じデータとなります。
C:\work\SAMPLE3\(“in”というファイル名で保存)

  • 今回のTIPSではIBM(zOS)の文字コードの固定長データを利用します。

» 変換元データのダウンロード(注:サンプルファイルはzip形式となります。解凍してからご利用ください。)

手順2 - DataMagicのスクリプトファイルをダウンロードし設定する

IBMメインフレームのデータをUnicode(UTF-8)に変換するには、下記のスクリプトファイルをダウンロードして、DataMagicがインストールされているフォルダに保存します。
C:\work\SAMPLE3\(“sample3.igen”というファイル名で保存)

DataMagicの管理画面を起動し、ダウンロードしたスクリプトファイルをDataMagicに取り込みます。取り込みはスタート画面の[ツール]にある[管理情報インポート]アイコンをクリックします。管理情報インポート画面においてダウンロードしたファイルを指定し、インポートボタンをクリックします。取り込みが成功すると、データ加工情報一覧画面にSAMPLE3というIDが登録されます。

» スクリプトファイルのダウンロード(注:サンプルファイルはzip形式となります。解凍してからご利用ください。)

手順3 - DataMagicを実行する

手順2において登録したSAMPLE3というデータ加工情報IDをダブルクリックし、入力設定および出力設定のファイル名が正しく設定されていることを確認します。画面から、SAMPLE3のデータ加工情報IDを開き、画面上部にある「実行」ボタンから行います。

手順4 - 実行結果を確認する

手順3において実行が完了すると、出力設定において指定されたC:\work\SAMPLE3\に“out”というファイルが出来ているのでメモ帳等のエディタで確認して下さい。

最後に

今回はIBMメインフレーム固定長データをUnicode(UTF-8)に変換しましたが、Unicode(UTF-8)を変換元、変換先として使用する場合のいくつかのPointを下記に列挙しますのでご参考にしてください。

Point1:マルチバイト文字は2バイトではなく3バイトに

Unicode(UTF-8)は可変長(1〜4バイト)の8ビット符号単位で表現する文字符号化形式のため、IBMメインフレームやShift_JIS等で2バイトで表現されていた文字の多くが3バイトで表現されます。そのため、変換先としてUnicode(UTF-8)を使用する場合は十分な項目長を用意する必要があります。

Point2:シフトコードなし文字項目(Nタイプ)の扱い

IBMメインフレーム等のEBCDIC系文字コードにおいては1バイト文字と2バイト文字の切り替えに「シフトコード」というものが使用されますが、その切り替えのない項目をDataMagicではNタイプというデータ属性で取り扱います。ただしPoint1でも記載したとおり、Unicode(UTF-8)は可変長(1~4バイト)のコードとなるため、偶数バイトのデータを取り扱う前提のNタイプとは整合性がとれなくなる場合があります。Unicode(UTF-8)の変換を行う場合は漢字・キャラクタ混在型であるMタイプを使用してください。

Point3:機種依存文字

UnicodeにはWindowsとその他で「~」「∥」「-」「¢」「£」「¬」の文字の取り扱いに差異があります。DataMagicのコード変換でこの差異を吸収することが可能です。

ぜひ、DataMagic評価版をダウンロードして、今後の技術コラムを活用してください。

  • 評価版は無償で60日間ご利用いただけます。
  • 評価版のお申し込み後、90日間の技術サポートを無償でご利用いただけます。

DataMagic コラム一覧

関連コンテンツ

コラム一覧に戻る