Shift-JISのIBMメインフレームに関する日本のCOBOLコード。 PCへの転送後に表されます。どのように?

StackOverflow https://stackoverflow.com/questions/1309909

質問

メインフレームにCOBOLにソースコードがある日本のクライアントがいます。彼は、メインフレームのコードがShift-JIS2で表されていると主張しています(そして、私たちはそれをかなりよく理解していると思います)。そのコードがPCに転送されると、使用される最も一般的なエンコードは何ですか?私たちは彼にそのCOBOLコードを処理するプログラムを送信しました、そしてそれは窒息しているようです。顧客は私たちに直接コードを与えないので、実験は難しいです。彼の実験はUTF-8を示しているようです。 Shift-JIS2でエンコードできる日本のキャラクターは、それに応じてUnicode等価物に変換されていると思います。誰かがここで経験がありますか?

編集:私たちは謎を解決したと思います。クライアントは(duh!)PCでCP-932( "Shiftjis")を使用していますが、彼のCOBOLプログラムには識別子に日本語のキャラクターがあり、それが私たちのツールが窒息している理由です。

編集:フォローアップ:もう少し驚き。 Shift-Jisは、私たちがASCIIテキストとして、いわゆる「フルワイド」文字としてエンコードすることがよくあります。慣習的なasciiキャラクターは半幅として機能します。したがって、完全な幅の「a」、「b」、... "z"とfullwidth " - "があります。明らかに、日本のCOBOLを処理するために、私たちのCOBOLパーサーは、西部ASCIIだけでなく、全幅の同等物も受け入れなければなりません。全幅の文字と驚くべきことに、COBOL識別子の「文字」を分離するために使用される全幅のハイフン。

編集:IBM Enterprise COBOLは、識別子のDBCS文字を許可します。うわぁ!

役に立ちましたか?

解決

日本では、EUC-JP、ISO-2022-JP、Shift-JISの3つのエンコーディングがまだ非常に使用されています。

ISO-2022-JPは通常、電子メールに使用されます。 UNIXマシンにEUC-JPが表示されます。私は個人的にShift-Jis以外のものを扱っていません。 (メインフレームも。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top