
データドリブン経営の前提として考えるMVV:ミッション・ビジョン・バリューと戦略・戦術・戦法
端末エミュレーターでよくあることをお話しします。
この画面は、富士通メインフレーム上のテキストデータを端末エミュレーターで表示したものです。
特に問題なく表示できていると思います。
次に、エミュレーターの機能を使って、このデータを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コードとの間で計算により変換ができないコードになります。
ダウンロード時に変換できない文字は仕方なく、存在しない文字ということで「□」にしてしまっているというわけです。
さて、お気づきかもしれませんが、端末エミュレーター上では「つちよし」も正しい文字で見ることができましたね。「つちよし」はパソコンに無い文字のはずなのに、なぜエミュレーターでは正しく表示されるのでしょうか?
次回は、その理由をお話ししましょう。
情報システム部門の本質的な役割:労働生産性向上への基本戦略は“機械化”と“自動化”
20年以上の実績に裏打ちされた信頼のデータ連携ツール「Waha! Transformer」で、自社に眠るデータを有効活用。まずは無料のハンズオンセミナーや体験版で効果を実感していただけます。
Rankingランキング
New arrival新着
Keywordキーワード