問題タブ [ebcdic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
582 参照

java - Javaコードを介してASCIIをメインフレームバイナリに変換する方法は?

私たちのアプリケーションには C/C++ で書かれたモジュールがあり、ascii ファイルを受け取り、後でメインフレームに ftped される ebcdic ファイルに変換します。

ここで、この C/C++ コードを Java で書き直すよう求められます。通常の文字、パック 10 進数、メインフレーム バイナリ、浮動小数点の 4 つの異なる出力タイプがあります。それぞれに、個別の入力 ascii の長さと、対応する出力 ebcdic の長さが含まれます。

これを行う場合、11 バイトの入力を 4 バイトのメインフレーム バイナリの出力に変換する特定のタイプのメインフレーム バイナリを変換することはできません。1 つのサンプル入力は ' 451841' であり、less コマンドを使用して unix で開いた場合の ebcdic ファイルの出力は '^@^Få^A' です。

C コードは次のようになります。

そして、この部分を書き直した Java コードは次のようになります。

しかし、Java コードでは、値は次のようになります: ^@^@^@^A

jre バージョン 1.5 を使用しています。この C コードを Java バージョン 1.5 で書き直す方法を理解してくれる人はいますか? もう 1 つ、temp_area[11] の長さは 11 文字ですが、最大値は 6 桁です。

0 投票する
1 に答える
3544 参照

c - C で文字の EBCDIC 値を取得する

C で文字の EBCDIC 値を取得する必要があります。方法がわかりません。最初に ASCII 値を取得してから、そこから EBCDIC 値を取得する必要がありますか? ありがとう

0 投票する
5 に答える
6029 参照

format - COBOL COMP-3 数値形式の問題

テキスト フィールドと数値フィールドが混在する COBOL の「テープ形式」ダンプがあります。C# でファイルをバイナリ配列 (バイトの配列) として読み取っています。私はコピーブックを持っており、フォーマットはテキストフィールドにうまく並んでいます. COMP-3 フィールドもいくつかあります。これらのフィールドのデータは、BCD 形式と一致していないようです。私はデータがどうあるべきかを知っており、COMP-3 の生のバイトを持っています。最初に EBCDIC に変換しようとしましたが、良い結果は得られませんでした。それ以外の方法で COMP-3 番号を内部に保存する方法について何か考えはありますか? 以下は、PIC、生データ、および予想される数の 3 つの例です。数字の両側にアルファ データがあり、すべてが正しく並んでいるので、フィールドの位置が正しいことはわかっています。

最初の例: フィールドの PIC は 9(9) COMP-3 データには 5 バイトあり、16 進値は 02 01 20 91 22 です。結果のデータは日付 (00CCYYMMDD) になります。この特定の日付は 3-17-14 である必要があります。

2 番目の例: フィールドの PIC は S9(3) COMP-3 データには 2 バイトあり、16 進値は 0A 14 結果の値は 900 から 999 の間である必要があります。最後のニブルは、+ または - を示すために 0xC または 0xD である必要があります

3 番目の例: フィールドの PIC は S9(15)V99 COMP-3 です データには 9 バイトがあり、16 進値は 00 00 00 00 00 00 01 80 0C です 結果の値は 12.00 になるはずです

正しい方向に私を向けてくれたので、回答してくれた人々に感謝します。これは確かに ASCII/EBCDIC 表現の問題です。BCD は EBCDIC に格納されます。ASCII から EBCDIC への変換テーブルを使用すると、適切にフォーマットされた BCD 数字が生成されます。

このリンクを使用してデータをマッピングしました: http://shop.alterlinks.com/ascii-table/ascii-ebcdic-us.php

私のデータ: 0A 14 変換済み: 25 3C (253 は有効な値であることがわかりました。仕様は間違っていました) C = +、すべて良好

私のデータ: 01 80 0C (先頭のゼロを除く) 変換: 01 20 0C 12.00 C = +, 暗黙の 2 桁の形式, すべて良好

私のデータ: 02 01 20 91 22 変換済み: 02 01 40 31 7F 2014/03/17 (F は未使用のニブル)、すべて良好

0 投票する
0 に答える
328 参照

ruby - Ruby EBCDIC-US で HEX を変換する方法

RubyでHEX文字列をEBCDIC-US文字列に変換するにはどうすればよいですか? ライブラリはありますか?私は探しましたが、何も見つかりませんでした。私が念頭に置いている他の唯一の方法は、16 進数から ebcdic への変換テーブルを作成することですが、255 文字です。提案やアイデアはありますか?私はマーベリックスを使用していて、iconvを試しましたが、

EBCDIC-US を持っていません