問題タブ [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.
java - HEX値をEBCDIC文字に変更する方法
JavaでHEX値をebcdic char型に変換する最も簡単な方法は何ですか?
たとえば、以下の例はアットマークを返しますが、同等のエブシディック、つまりスペース文字を取得したいと思います。
文字列 hex = "40"; char c = (char) Integer.parseInt(hex, 16);
c# - C#でASCIIデータをEBCDICに変換する方法は?
このリンクを使用したASCIIからEBCDICへの変換について読みました。
Javaで文字列をASCIIからEBCDICに変換しますか?
しかし、これはJavaです。私の要件はC#.Netにあります。
それで、これを手伝ってくれませんか?
ありがとう&よろしく、
クリシュナクマール
cgi - RPG-CGI pgm で生成される Java スクリプト関数で { } 中括弧を使用する方法
関数 xxx() { aaaaaaaaaaaa;を持つ Java スクリプト プログラムを含む HTML ページを生成する RPG-CGI プログラムの書き方。ssssssssss; } . 16 進コード定数を使用して記述した場合、ブラウザの実際の html コードで他のシンボルに変更されています。
EBCDIC 文字セットには{、}、[、]、!が含まれていますか? 記号.......いいえの場合、AS/400 RPG-CGI プログラムでどのように使用しますか?
c# - EBCDIC から ASCII への変換。範囲外エラー。C# の場合
この一般的な変換順序を使用して、C# で EBCDIC から ASCII への対流変換を作成しようとしました (以下を参照)。基本的に、プログラムは ASCII から同等の整数に変換し、そこから以下の順序で EDCDIC に変換します。
これを C# でコンパイルして、EBCDIC 文字列 (別のコンピューターの別のファイルからこれを取得) を指定しようとすると、一部の EBCDIC 文字で「境界外」例外が表示されます。どうしてこうなの??整形のことですか??またはC#?? または窓?
おまけ: 0..255 の数値からのループを使用してすべての ASCII および EBCDIC 文字を出力しようとしましたが、それでも EBCDIC 文字の多くは表示されません。基準がありませんか?
コード全体は次のとおりです。
ruby - RubyでASCIIからEBCDICへの変換を行うにはどうすればよいですか?
MacOSXでRuby1.8.7を使用しています。
レガシーシステムと通信するために、ASCIIをEBCDICエンコーディングに変換するにはどうすればよいですか。jrubyに使用する必要がありますか?
.net - 非標準のコードページで EBCDIC データを読み取り、数字を台無しにしない方法は?
これは古い(古い)手のためのものです:-)
メインフレーム DB2 テーブルからバイナリ ダンプを読み込んでいます。テーブルには、varchar、char、smallint、integer、float の列があります。興味深いことに、DB2 はコード ページ 424 (ヘブライ語) を使用します。コードをコードページに依存しないようにする必要があります。
したがって、次のように System.Text.Encoding を使用してストリームリーダーでファイルを開きます。
を使用して、長さに応じて VARCHAR および CHAR データを char 配列に読み取ります。
VARCHAR 列の最初の 2 バイトは常に破棄し、正しい文字列を取得する必要があります。
そして、すべてが素晴らしいです!
しかし、今は SMALLINT 列にたどり着き、困っています。符号付き数値の値は 2 バイトで格納され、ビッグ エンディアンであるため、
そして私は間違った数字を取得します!たとえば、バイトが 00 03 の場合、バッファ (1) で 0 を取得し、バッファ (0) で 3 を取得します。しかし、2 バイトが 00 20 の場合、128 が buffer(0) に読み込まれます!
髪を引っ張って半日後、ストリームリーダー宣言からエンコーダーを削除すると、32 がバッファー (0) に読み込まれます。
要するに、非標準のコードページエンコーダーはバイトの読み取りを台無しにします!!!
これを回避する方法はありますか?
unicode - Unicode char が .NET 4.0 の EBCDIC でサポートされているかどうかを検出する方法は?
.NET 4.0 で記述された Web サイトと WinForms アプリケーションがあり、ユーザーは任意の Unicode 文字 (かなり標準) を入力できます。
問題は、少量のデータが古いメインフレーム アプリケーションに送信されることです。テスト中に、ユーザーが文字を含む名前を入力すると、メインフレーム プログラムがクラッシュしました。名前はBOËNS。E はサポートされていません。
Unicode char が EBCDIC でサポートされているかどうかを検出する最良の方法は何ですか?
次の正規表現を使用してみましたが、メインフレームに適した標準の特殊文字 (/、_、:) が制限されていました。
1 つのメソッドを使用して各文字を検証するか、文字列に渡したメソッドを使用して、EBCDIC でサポートされていない文字が文字列に含まれている場合に true または false を返すことをお勧めします。
utf-8 - 中国語文字を含む EBCDIC を UTF-8 形式に変換する方法
マルチバイト対応の DB2 データベースにファイルをロードするために、IBM937 コード ページを使用してエンコードされた EBCDIC エンコードのファイルを UTF-8 形式に変換する必要があります。
unix recode と iconv を試しました。IBM 937 を UTF8 に変換する機能はありません。UNIXベースのシステムでそれを行うことができるこの世界のユーティリティ(java、perl、unix)を探しています。誰かがここで私を助けることができますか?
SL
c# - パック10進数を使用してEBCDICでファイルをエンコードするC#
外部エンティティ用にファイルを準備する必要があります。このエンティティは COBOL を使用する IBM メインフレームを使用しており、ファイルを EBCDIC でエンコードする必要があります。C#でファイルを作成しています。これは 2 つの部分からなる質問だと思います...まず、以下のコードは、ファイルが読み取り可能な方法で生成されることを保証するのに十分ですか?
次に、ファイル内のいくつかのフィールドには、S(9)13 COMP-3 形式のパック 10 進数が必要です。すでに EBCDIC エンコーディングを指定しているので、次のように 10 進数 (例: 1234500000001) をファイルに書き込むことはできますか?
...そして、生成されたファイルで正しく表示されますか?
EBCDIC または COMP-3 で何もしたことがありません。
decimal - 1 つのファイルにパック 10 進数と通常のテキストを含めるにはどうすればよいですか?
いくつかの列がパック 10 進数形式で、いくつかの列が通常の数値形式である固定幅ファイルを生成する必要があります。生成できました。ファイルを圧縮して、メインフレーム チームに渡しました。彼らはそれをインポートしてファイルを解凍し、EBCDIC に変換しました。問題なくパック 10 進列を取得できましたが、通常の数値フィールドは混乱しているようで、読み取ることができませんでした。ファイルをメインフレームに送信する前に、ファイルを処理/圧縮する際に必要な特定のことはありますか? COMP3 パック 10 進数を使用しています。現在は Windows XP で作業していますが、実際の運用は RHEL で行う予定です。
助けてくれてありがとう。これは緊急です。
2011 年 6 月 6 日に編集:
HEXをONにするとこんな感じ。
最初の行の「A」にはわずかなアクセントがあるため、実際の大文字の A ではありません。
210003166 は未加工の 10 進数です。comp3 変換前のパック 10 進数の値は 000000002765000 です (必要に応じて先行ゼロを無視できます)。
更新 2: 2011 年 6 月 7 日 これは、メインフレームにロードされるファイルを作成する際に変換する方法です。ファイルには、識別番号と金額の 2 つの列が含まれています。識別番号は comp3 変換を必要とせず、金額は comp3 変換を必要とします。Comp3 変換は、Oracle SQL の最後で実行されます。変換を実行するためのクエリは次のとおりです。
クエリを実行した後、Java で次のことを行います。
このようにして生成されたテキスト ファイルは、winzip ツールによって手動で圧縮され、メインフレーム チームに提供されます。メインフレーム チームはファイルをメインフレームにロードし、HEXON でファイルを参照します。
さて、ゾーン 10 進数の上位 4 ビットの変換についてですが、ファイルに正しく変換する前に変換する必要がありますか? または、メインフレーム側でフリッピングを適用する必要がありますか? 今のところ、次のコードを使用して Java 側で反転を行いました。
識別子は Java の終わりで 21000316F になり、それがファイルに書き込まれます。ファイルをメインフレーム チームに渡し、HEXON での出力を待っています。何か不足している場合はお知らせください。ありがとう。
更新 3: 2011 年 6 月 9 日
OK、メインフレームの結果が得られました。私は今これをやっています。
そして、次の出力が得られます。
私は何か非常に悪いことをしているに違いない!
更新 4: 2011 年 6 月 14 日
このクエリは、James の提案を使用した後に解決されました。現在、以下のコードを使用していますが、期待される出力が得られます。