なんだかんだでこの業界にそこそこいるのですが、最近あまり聞かなくなった言葉として「文字化け」というものがあります。
かつて文字化けによっていろいろと苦労した記憶がある人間としては聞かなくなるのはとてもいいことだと思うのですが、しかし少なくなったとは言ってもまったく聞かなくなったわけではないので、やはり根深い問題のようです。
さて、そもそもその文字化けとはいったい何なのか?
文字化け(もじばけ)とは、コンピュータで文字を表示する際に、正しく表示されない現象のこと。
文字化け – Wikipediaより
なんか身も蓋もない感じでは有りますが、そもそもコンピューターは0と1の世界です。
しかし、当然ですが今読んでいるこの文章は日本語で書かれていますし、皆さんも読むことが出来ていると思います。
読みやすい日本語であるかどうかは今問題ではありませんのでその点にはご留意ください。
ではなぜ、日本語を表現できるのか?といえば、ごく単純に言うなら「文字を01とマッピングしている」からです。
つまり、「100は【あ】とする」「101は【い】とする」という形でひも付けを行っているのです。
さて、当然上のマッピングは今私が適当に書いた例なのですが、もしも誰かがこの例を元に、
「100 101 102 103 104」が【あいうえお】になるんだな!
と考えてそのようなデータを作成した場合、これは正しくあいうえおと表示されるのでしょうか?
ものすごく運が良ければ あいうえお と表示されるかもしれません。
かなり運が良ければ かきくけこ かも知れません。
しかし、実際にはきっと1文字も表示されないか、もしくは日本語ですらない訳の分からない文字の並びになるでしょう。
「きっと」と書いているのはそういうルールがあるかどうか調べていないので
ひょっとしたらどこかにあるのかもしれないという予防線なのですが、きっとそのようなルールはないと思われます。
これがものすごく単純に表した「文字化け」が起きるメカニズムです。
「文字と01のマッピング」のルールに認識のズレが有り、その結果文字化けが起こるのです。
ではなぜ、ルールが複数あるのでしょうか?
これもいろいろな理由や歴史があるのですが、単純に言うならばコンピューターを作った人たちはアルファベット圏の人たちだったという話です。
ルールを決めるときに、アルファベットについては統一しました。
しかし、日本語や韓国語、タガログ語といった他の言語について初期段階でのルール化をしなかったために、それぞれの言語圏の人たちが(ある意味で)勝手に決めてしまい、同じ日本語でもルールが複数存在する、という事態になってしまったのです。
それを踏まえたうえで、なぜ文字化けが最近メジャーな問題ではなくなってきたのか?と言うと、
つまりは「もうじゃあ面倒だから全部の文字に01をマッピングしたルールを作ろうぜ!」という話が生まれ、そのルールが定着してきているからです。
全部の文字というのは、つまり日本の文字、韓国の文字、タガログ語の文字、といった言語全ての文字です。
そのため変換表はとても巨大です。どのくらい巨大かというと、「なんかメジャーな文字はだいたい入れたけど、全然余ってるね!」くらい巨大です。
そして「全然余ってるからもう変なものも入れちゃおうぜ!」というよくわからない話に発展しました。
「変なもの」ってなに?文字のルールじゃないの?
今日かわいい🐈を見つけてめっちゃ追いかけた🏃💨んだけど、逃げられちゃって悔しいから🍣と🍺飲んで寝る!
ということで、「変なもの」とは文字は文字でも絵文字です。
携帯電話でのメールのやり取りなんかではおなじみのこの絵文字、もともと「日本語のルール」の一部のさらに拡張セットとして独自に追加されたこの絵文字は、独自過ぎてそれぞれの携帯電話キャリアでも互換性がなかったりして、当時の携帯電話のサイトを作っていた人間の心を破壊しました。破壊されました。
そんな絵文字も何故か「全世界共通ルール」に組み込まれていて、先ほどのような文章をPC上で表示することを可能にしているのです。
(ただし、対応していないシステムもあります)
ですが、文字のマッピングルールに組み込まれているため、日本語変換システムによっては普通にキーボードで日本語を変換するように変換することが出来ます。
絵文字 |
Microsoft IMEでの入力方法 |
絵文字の入力例 |
🍣 |
すし |
🐈 |
ねこ |
🍺 |
びーる |
🍻 |
びーる |
🏄 |
さーふぃん |
💨 |
だっしゅ |
🏃 |
まらそん |
🚴 |
じてんしゃ |
🚵 |
じてんしゃ |
ですが、この絵文字。
共通のルールに組み込まれて、これで機種依存ともおさらば!めでたしめでたし!となるかというとそうでもありません。
システムやアプリケーションによっては、対応していないために表示されなかったり、そもそも「使わない領域なんだから保存するだけ無駄だし捨てちゃおうぜ!」という省エネ思想だったりすると、本来(そのシステムが作成された時には)あるはずのない領域を利用したデータが来ることで動作に不具合が生じる可能性もあるのです。
その意味で、「文字化け」についての問題を減らしてくれた共通ルールがもたらした「絵文字化け」。
文字との格闘はいつまでも続くようです……。
ということで、本日はここまで👋
(tel)