ビジネス課題への解決策(アイディア)と、新たな発想(+α)が見つかるIT情報メディア

Menu
  1. TOP
  2. データ活用
  3. 富士通メインフレームの文字コード

富士通メインフレームの文字コード

  • LINEで送る
  • このエントリーをはてなブックマークに追加

端末エミュレーターでよくあることをお話しします。
この画面は、富士通メインフレーム上のテキストデータを端末エミュレーターで表示したものです。

特に問題なく表示できていると思います。

次に、エミュレーターの機能を使って、このデータをPCにダウンロードしてみました。

この画像は、ダウンロードしたテキストファイルをメモ帳で表示させています。
エミュレーターではすべての文字が表示できていたのに、ダウンロードしたファイルでは2行目の1文字目だけ「□」になってしまっています。
これがいわゆる文字化けです。2行目の1文字目には何か違いがあるということになりますね。

もう一度メインフレームに戻って、この文字のコードを見てみましょう。
メインフレームのエディタで、文字コードを表示してみました。

この画面は普段メインフレームを使っていない方には見慣れない表示だと思います。
文字の下に16進数で文字コードが表示されているのですが、1バイトずつ縦に読みます。上段が1バイトを16進で表記した1桁目で、下が2桁目です。たとえば1文字目の「吉」のコードは、1バイト目が0xB5で、2バイト目が0xC8。文字コードとしては0xB5C8となります。

そのように文字コードを見ると。上の吉と下の吉のコードが異なりますね。
文字をよく見ると、上の吉の「口」の上に「士」です。下の吉は、「口」の上に「土」です。下の吉は、「つちよし」と言われている文字で、有名な牛丼屋さんの吉もこの文字です。

この「つちよし」は、パソコンが古くから使用している文字の世界には存在しません。
「つちよし」以外の文字はパソコンにもありますので、メインフレーム上での文字からパソコンの文字へ変換することができます。

メインフレームとパソコンの両方にある文字は、同じ文字を一対一で紐付けることができるので、ダウンロードした時に変換が行われています。上の吉なら、メインフレームでの文字コードは、0xB5C8です。パソコンでの文字コードは、シフトJISなら0x8B67で、JISコードなら0x3548です。
画面上の文字の変換結果を表にまとめると、以下のようになります(MFはメインフレームの略です)。

JISコードとシフトJISコードが計算で変換できることはご存じだと思いますが、メインフレームの文字コードと、JISコードを見比べてみてください。
よくよく見ると、JISコードの各バイトの8ビット目を"0"から"1"に変えたものがメインフレームの文字コードになっています。つまり、富士通メインフレームとJISの間も、

JISコード = 富士通メインフレームの文字コード - 0x8080
という計算でコード変換が可能だということです。

富士通のメインフレームで扱っている文字のうち、基本的な文字は計算で文字コードが算出できます。
ただし、「つちよし」のほうは、文字コード自体が0x8080より小さいので、計算することができません。
実はこの文字は「拡張漢字コード」といって、JISコードとの間で計算により変換ができないコードになります。

ダウンロード時に変換できない文字は仕方なく、存在しない文字ということで「□」にしてしまっているというわけです。

さて、お気づきかもしれませんが、端末エミュレーター上では「つちよし」も正しい文字で見ることができましたね。「つちよし」はパソコンに無い文字のはずなのに、なぜエミュレーターでは正しく表示されるのでしょうか?

次回は、その理由をお話ししましょう。

追記:関連コンテンツ

富士通メインフレームの文字コード(その2)

富士通メインフレームの文字コード(最終回)

追記:Waha! Transformer 製品サイトの関連コンテンツ

Waha! Transformerの対応文字コード体系

API とは 2025年の崖と未来をつなぐ架け橋

情報システム部門の本質的な役割:労働生産性向上への基本戦略は“機械化”と“自動化”

データの抽出や加工、連携にお悩みではありませんか?

20年以上の実績に裏打ちされた信頼のデータ連携ツール「Waha! Transformer」で、自社に眠るデータを有効活用。まずは無料のハンズオンセミナーや体験版で効果を実感していただけます。

> 純国産ETLツール「Waha! Transformer」

Waha! Transformer
 

メールマガジンの登録はこちらから
メルマガ登録 お問い合わせ