このブログを見て下さった皆様に、心より感謝申し上げます。名前はゲームブログですが、色々な話題を書かせて頂きたいと思います(大好きな写真/映像/カメラ、ペン、コンピュータ、食べ物、映画、クルマ、家電製品などなど)。 なにとぞ、これからもよろしくお願いいたします。皆様あってのブログです。
2009年11月19日木曜日
Windows Power Shellにて、EBCDICファイルからShift JISファイルへの変換をする
前回は、Windows Power Shellにおいて、Shift JIS形式のファイルを、コマンドラインだけで簡単にEBCDIC形式のファイルに変換出来るという記事を書かせて頂きました。
友達から、逆にEBCDICからShift JISへ復元(変換)する時はどうするのだ、という質問をもらいましたので、その件について書かせていただきます。
EBCDIC形式のファイルをShift JISへ変換するのは、大雑把に言って逆のコマンドを書けば良いのですが、さすがにコマンドラインにコマンドを投げっぱなしだと入力ミスした時に辛いんで、関数に仕立ててみました。
関数にしておけば、何度もコマンドを打ち込みする必要もないですし、それこそプログラムですから長くとも安心。
関数名はCodeConvertCoreにしましたが、こいつは、パラメータの指定によって、Shift JIS<--->EBCDICの両方向の変換に対応してます。
EBCDICからShift JISへの変換の時は、レコード長を変化させられます。
元々のファイルは1レコード14バイトでしたが、12バイトなどに変化させられます。
不足分は空白で補うように作ってあります。
EBCDIC形式ファイルからデータを読み取る時は、System.IO.StreamReaderクラスのReadToEnd()メソッドを使って一括で読み込み、読み込んだデータを、指定したレコード長に区切りながらShift JIS形式ファイルに出力し続ける仕組みです。