EBCDIC->JIS8変換

解決


あちち  2004-07-15 11:22:11  No: 114817  IP: [192.*.*.*]

オフコンホスト用のEBCDICコードで数値形式S9(001)をJIS8形式に置き換えて
PCサーバにテキスト形式で保存したいのですがどのような方法があるのでし
ょうか?壁にあたってしまい困っているのでご教授ください。

VB6.0  SP6

編集 削除
36NET  2004-07-15 12:23:44  No: 114818  IP: [192.*.*.*]

メーカーの宣伝ではありませんが
http://www.adv.co.jp/products/52lw32/
をインストールして提供されてるAPI機能を使い
そんなシステムを構築したことがあります

変換対象の文字種類が少ないなら変換テーブルを使うのが
無難とは思います

編集 削除
あちち  2004-07-15 17:38:07  No: 114819  IP: [192.*.*.*]

ご教授ありがとうございました。ダウンロードして確認してみます。

ちなみに変換テーブルはどのような考え方でつくれば良いのですか?
数値フィールドがサインつきS9(10)なのでテキストで確認してみると
                000012800{  ---->  128000となり
                000012800}  ---->  -128000となるようです。
コード変換するにはどう考えるとよいのでしょうか?
やはり最後の桁をチェックして
               { -> 0
               } ->-0と考えるべきなのでしょうか

編集 削除
36NET  2004-07-15 21:43:43  No: 114820  IP: [192.*.*.*]

コード変換の変換テーブルは基本的にバイト単位で持たせた方が無難かと思います
S9(001)やS9(10)をいまいち理解していませんが(すいません)

例えば(あくまでも例です)
EBCDICの16進数で「01BBCC」とゆうデータをSJISの「01」に変換すると決めた場合
EBCDICを1バイトづつビットチェックしていき「1,187,204」とゆう続きのデータを
検出したら「01」と置き換えるような処理?
この場合だとテーブル定義は
CODE001_B1=1
CODE001_B2=187
CODE001_B3=204
CODE001_SJIS=01
とかですかね?

編集 削除
あちち  2004-07-16 09:15:34  No: 114821  IP: [192.*.*.*]

とっても参考になりました。
ありがとうございました。

編集 削除