問題タブ [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.
ruby - EBCDIC から RUBY の ASCII へ
メインフレームから生成された EBCDIC ファイルがあり、データ処理のために ASCII に変換する必要があります。
どんな助けでも大歓迎です。
java - ページコードが不明な場合に、拡張 ASCII から EBCDIC へ、およびその逆に変換する方法
ASCII から EBCDIC へ、およびその逆への変換に使用される 2 つの配列があります。コンテキストは次のとおりです。UNIX で実行されている MyMainframeApp があり、EBCDIC でのみファイルを送受信します。このようなファイルは、MyWebApp から ASCII 形式で読み取られ、処理され、EBCDIC で返される必要があります。次の 2 つの配列は変換を完全に満たします。問題は、拡張 ASCII (インターネットから取得した最後の配列を参照) をサポートする必要があるため、EXTENDED_Array を ASCII[] に結合する必要があることです。EBCDIC で同等のコードは何ですか? アプリケーションは、Windows 2012/JDK 6 および Unix/JDK 6 で同様に実行する必要があります。ページコードがわからない場合、これを行う安全な方法はありますか? 注: ASCII から EBCDIC への変換方法を尋ねているわけではありません (この質問に対する適切な回答がこのフォーラムにあります)。まず、「EXTENDED」をスポットライトに入れたいと思います
//EBCDIC J1644€ の例 [1] [1]1240üÐB„aà[1][1] [1]1240üÐB„aà[1][1] 890@@0482613 @1644€ € @ [1]
//私が使用しているソリューションをここに追加したいと思います。私の元の質問に対する100%の回答ではありませんが、これが将来の読者に役立つことを願っています. 翻訳はhttp://www.flounder.com/ebcdicttoascii2.htmからコピーされました
プライベートファイナルint EBCDIC[] = {
プライベート 最終的な int ASCII[] = {
ascii - DOS ASCII コード ページ
1 つの EBCDIC から ASCII への変換テーブルを使用しているレガシー システムがあります。筆者はおそらく、ASCII と EBCDIC に複数のコード ページがあることを知りませんでした。適切に変換されていない拡張文字やアクセント付き文字があり、使用中のコード ページに従って修正できます。
できるだけ多くのコード ページを調べて、変換に使用されたテーブルを特定できる場所を誰か知っているかどうかを尋ねています。コード ページごとに複数のウィキペディア ページを参照すると、処理が遅くなり、エラーが発生しやすくなります。
r - R の固定幅 EBCDIC ファイル
EBCDIC としてエンコードされたメインフレーム データを R に読み込もうとしていますが、途方に暮れています。私は企業環境で作業しているため、外部プログラムを使用してファイルを変換することは避けたいと考えています。
サンプル ファイルは、ASCII バージョンと EBCDIC バージョンの両方でここにあります。ファイルの EBCDIC バージョンには改行がないことに注意してください。代わりに、各行の幅を手動で指定します。R には、私の環境で利用可能な IBM500 エンコーディングがあり、これらのファイルには正しいものであるはずです。
ただし、次のコマンドを実行すると、R が完全に失敗するようです。
ここからどこへ行けばいいですか?
関連 -- 私が使用すると予想されるファイルのいくつかは、かなり大きくなります (1 GB 程度)。できれば、適度にスケーリングできるソリューションが必要です。(LaF などのパッケージを試しましたが、エンコーディングを選択するオプションがありません。)
どうもありがとうございました!
c# - StreamReader と EBCDIC の奇妙な動作: なぜですか?
背景: 設計が不十分な EBCDIC ファイルに ASCII 行ターミネータを使用するバイナリ データを使用するアプリケーションを作成する必要があり、そのバイナリ データに ASCII CRLF が含まれていることがあり、行が正しく分割されないことがあります。この古いファイル形式を使用して、各レコードの最後に CRLF をドロップする必要があります。
エンコーディングで aStreamReader
を使用すると、メソッドが期待どおりではなく行末としてのみ読み取られるようになるため、返されるすべての文字列 (最初の文字列以降) は LF ( ASCII) で始まります。IBM037
ReadLine()
\r
\r\n
ReadLine
0A
問題を再現するサンプル プログラム:
出力は次のようになります。
2 行目の先頭にある 10 は存在しないはずです。これは、CRLF シーケンスの LF であるためです。
ReadLine
この方法についての私の理解は次のとおりです。
行は、一連の文字の後にライン フィード ("\n")、キャリッジ リターン ("\r")、またはキャリッジ リターンの直後にライン フィード ("\r\n") が続くものとして定義されます。返される文字列には、終了のキャリッジ リターンまたはライン フィードは含まれません。ソース
エンコーディングがそれを変更することについては何も言わないので、それによると、CRだけでなく、データ内の完全なCRLFを読み取る必要があります。
更新: 私はすでにこの問題を回避し、データを読み取る独自の方法を実装しましたが、私の質問はまだ次のとおりです:ReadLine
缶に書かれていることをなぜしなかったのですか?
perl - Convert::IBM390 でリトルエンディアンまたはビッグ エンディアンをアンパックする方法
Convert::IBM390
EBCDIC ファイルを ASCII ファイルに変換するために使用しています。
このリンクでこのスクリプトを取得しました
EBCDIC データにリトル エンディアンまたはビッグ エンディアンの整数が含まれていると問題が発生します。
これらの文字のアンパックを検索してN/n V/vを使用しましたが、このモジュールでは受け入れられません。としてエラーが発生しました
メインフレームからの EBCDIC FILE は、次の列で構成されます。
助言がありますか ?
c - C で ANTLR3.5 によって生成されたパーサーを MVS EBCDIC 環境で動作させるにはどうすればよいですか?
Linux で ANTLR 3.5.2 を使用して C でパーサーを生成しています。生成された C パーサーと LE C コンパイラーを使用して z/OS で ANTLR C ランタイムをコンパイルおよびリンクすることができました。もちろん、パーサーが EBCDIC 環境で動作できるようにしたいと考えています。
これを実現するには、何を設定または変更する必要がありますか? MVS で実行するコードを取得するために、MVS で ANTLR を実行する方が簡単ですか? それとも、引き続き Linux でコードを生成し、z/OS で (わずかな変更を加えて) 実行できますか? どうもありがとう、トニー
python - PythonでASCIIファイルのCOMP-3パックフィールドをデコードしますか?
ddを使用して ASCII に変換された、以前は EBCDIC でエンコードされたファイルであったファイルがあります。ただし、一部の行には、読みたい COMP-3 パック フィールドが含まれています。
たとえば、デコードしたい行の 1 つの文字列表現は次のとおりです。
読み取りたいフィールドは で指定されますPIC S9(09) COMP-3 POS. 3
。つまり、3 番目のバイトから始まり、デコードすると 9 バイトの長さになります (したがって、COMP-3 仕様によると、エンコードすると 5 バイトの長さになります)。
私は COMP-3 仕様を理解しており、この特定の行では、このフィールドの整数値が であるべきであることも知っていますが315
、フィールドを実際にデコードするために何をすべきかわかりません。dd
また、ファイルがASCIIに変換されたという事実がここで問題になるかどうかもわかりません。
誰かが以前に同様の問題に取り組んだことがありますか、それとも私が見逃している明らかなものがありますか? ありがとうございました!
jms - スタンドアロン JMS からメインフレーム MQ への EBCDIC
私は Websphere MQ (IBM z/OS) テクノロジーを初めて使用します。JMS テクノロジーを使用して MQ サーバー (IBM z/OS 上。これは、アクセスが制限されている別の組織によって維持されています) に接続し、メッセージをキューに入れるスタンドアロン アプリケーションを実装する必要がありました。
以下は私のコードの一部です。
相手側の MQ サーバーに正常に接続し、メッセージをリモート サーバーに ASCII 形式で送信することができました。AIX サーバーからキューに入れたメッセージを消費することができました。
しかし、MQ は z/OS 上で実行されており、コンシューマーもメインフレーム アプリケーションであるため、私が入力したメッセージは、ゴミのような、または判読できない形式のようです。いくつかの調査の結果、メッセージを z/OS MQ に配置するには、メッセージを EBCDIC に変換する必要があることがわかりました。これは、IBM MQ ライブラリーによって処理されると予想していました。
メッセージを EBCDIC 形式にする方法を教えてください。