Top/文字コード/EBCDICファイルを編集・変換する

文字コード/EBCDICファイルを編集・変換する のバックアップ(No.3)


目次

EBCDICファイル

銀行系のシステムを開発していると、EBCDICファイルを扱う案件があったりします。
テストデータを作成する際、そのままEBCDICファイルを扱えるエディタが無いかどうか、探してみました。

エディタによる編集

Textplorer (v1.27a)

テキストエディタ。

  • EBCDICのファイルをそのまま開いて編集し、書き戻すことができる
  • Charset>Convert でEBCDICのConversionファイルを選択するだけで変換でき、そのまま保存すればEBICDICのデータができる。

ということでしたが、半角カナがうまく編集できないということで没に。半角カナが不要な案件なら使えそうです。

Stirling (v1.31)

バイナリエディタ。左右2画面構成で、右画面にテキストデータを入力していく形式。

  • 設定>キャラクターセット>EBCDIC と設定をしデコードスペースに入力し保存すればEBICDICのデータができる。

ということでしたが、コピーバッファからのテキスト貼り付けが不可、改行入力が不可、ということで没に。

xedit (v178)

バイナリエディタ。左右2画面構成で、右画面にテキストデータを入力していく形式。
インターフェース含め、Stiringに機能が非常によく似ている。
弱点も同じで、コピーバッファからのテキスト貼り付けが不可、改行入力が不可、ということで没に。

このへんでエディタをあきらめ変換系を試すことに…。
Unix上であれば、ddやiconvを使うことで変換可能なのですが、Windows上だけで完結させたかったので少し探してみました。
Shift-JISのファイルをEBCDICに変換してくれるツールを探した結果が以下。

コンバータによる変換

wdconv

VBScriptで作られた変換ツール。コマンドラインでの自動変換が可能。コマンドプロンプトでファイル指定をし文字コードを指定し起動するのみ。
ということだったが、EBCDICに変換するとなぜか変換がおかしい。変換後のファイルをStiringで開き、下記の「参考サイト」のEBICDICコード表と照合したが、全く異なるコードに変換されている。
Shift-JISから、EUC、JIS、UTF-8には変換可能だったが、今回の役には立たなかった。OSがWindows 7で、Wordも2013だったので、このコンバータの開発当時とバージョンが違うからかもしれない。

iconv for Windows

  1. 以下から「libiconv-1.9.1.bin.woe32.zip」をダウンロード
    http://sourceforge.net/projects/gettext/files/libiconv-win32/1.9.1/
  2. 以下から「gettext-runtime-0.13.1.bin.woe32.zip 」をダウンロード
    http://ftp.gnu.org/gnu/gettext/
  3. 作業用ディレクトリを作成。(「C:\tool\iconv」など)
  4. 2つのZIPファイルを解凍し、「BIN」フォルダ内のファイルを作業用ディレクトリに全部入れる。
  5. バッチを作成して実行。
    .\iconv>iconv -f SHIFT_JIS -t EBCDIC TEST_FILE.TXT > TEST_FILE.EBC

「未サポート」というエラーであえなく玉砕。「CP930」も「CP-930」もだめ。
「iconv -l」でサポートコードを確認したところ、EBCDIC系は全滅のようです。

Linuxのiconv (GNU libc 2.5)

仕方なくLinuxに頼ることに。ファイルをバイナリ形式でアップロードして実行してみました。

# iconv -f SHIFT-JIS -t EBCDIC-JP-KANA ./TEST_FILE.TXT
iconv: 位置 0 で不正な入力シーケンスがありました

これもだめでした。

VBSによる変換

Microsoftのサイトに、VBAを使った変換用プログラムがありました。
それを利用して、VBSで変換ツールを自作しました。
以下の記事を合わせてご参照ください。

VBS/EBCDICファイルをシフトJISに変換する
VBS/シフトJISファイルをEBCDICに変換する

ページ新規作成

新しいページはこちらから投稿できます。

TOP