記事のURLを長ったらしい日本語にしているわけ

読書と編集 千葉直樹です

日本語を使うのが不便な状況に
疑問を感じるから

URLとは何か

URLという言葉、割と使うと思います。ホームページのアドレスはURLで表されていますね。

Uniform resource Locatorの略がURL。Uniformというのは「均一の」とか「同形の」とかいう意味で、まあ決まりごとみたいな意味。日本語に訳すと、「定型的なモノの示し方」という感じ。

モノというのは、ホームページなどのデータを表すことが多いです。

これ、普通に使いすぎてあまり意味を考えたことがないかもしれませんが、インターネット上で、モノを指し示す表現方法のひとつです。これで指し示されたモノはインターネット上ではただひとつに定まる。

だから、httpで始まるURLのことをホームページ(正確にはWebページ)アドレスなんて言い方をします。

蛇足ですが、インターネット上のモノはWebページとは限りません。最初のhttpはつなぎ方を表していて、これがあるからWebページが表示されています。この部分が別のつなぎ方の場合は違う文字列になります。例えばftpというのもありますし、ブラウザのchromeではchromeで始まる文字列を入れて設定を変更することもあります。

Webページを表示する時に指定しているURLは、そのページを一意に表す文字列ということになります。

この文字列に使える文字コードは、本来はなんでも良いはずなのですが、歴史的な理由(コンピュータもインターネットもアルファベットを使うところで発展した)から、事実上使える文字コードが限定されています。

そのため、それ以外の文字を使う場合は、URLエンコードというアルファベット系の文字コードへの変換を行う必要があるということになっています。

これは、機能の互換性を確保する上で行われているものと考えることができます。

要するに日本語を含むマルチバイト文字(文字コードが複数バイトで表現される文字)は、URLエンコードしないと正常な動作が保証されないということです。

これはある程度致し方ない部分があると考えていますが、将来にわたってそれでいいかというとそこには疑問を感じます。

日本語ドメインというのもあります

https://(http://)の後から、次の/までの間の文字列をドメイン名と言います。これ、アルファベットのものが多いですが、日本語を使うことができます。不便なのであまり使われていないような気がしますが、まあとにかく使えるのです。

最近のブラウザはとにかく対応していて、日本語ドメイン名のページを表示することができます。

ドメイン名の後の文字列はそのドメイン内でのリソースの場所を示す文字列ですが、そこにも日本語を使うことができます。

さて、本題

そこで、このページのURLをちょっと見てください。ブラウザによると思いますが、リソースの場所を示す文字列が日本語になっていませんか?パソコンのChromeで見ると、きちんと日本語表示されているのではないかと思います。

でも、これをコピーして、メモ帳でもなんでもいいので貼り付けてみてください。こんな風になりませんか?

https://www.nyaos.net/2020/09/11/%e6%9c%aa%e3%81%a0%e3%81%ab%e8%87%aa%e7%b2%9b%ef%bc%88%e3%81%b2%e3%81%8d%e3%81%93%e3%82%82%e3%82%8a%ef%bc%89%e3%81%97%e3%81%a6%e3%81%84%e3%81%be%e3%81%99/

(上記は「未だに自粛(ひきこもり)しています」という記事のURLです)

長くて意味のわからない文字列になっていますね。これがURLエンコードです。

URLエンコードそのものは先に示したように技術的な互換性から仕方がないのです。

ただ、Chromeブラウザのアドレスバーではちゃんと日本語で見えています。

内部で処理するためのデータと人の目に見えるモノは違うわけです。

これ、見えるところくらいはきちんと日本語を表示するべきだと思いませんか?

カバーに使った画像は、こういうURLをFacebookの投稿に書いたときの表示イメージです。

かっこ悪いでしょう?

だから、大抵の人は記事のリソース名部分をアルファベットにしています。エンコードされたアドレスは長ったらしいし、見た目も悪いというわけです。

それは現実的な対処として賢明な方法です。

でも、日本語を文化という面から見たらどうでしょう?

日本語の字形を隠す必要はないと思いませんか?

昔のコンピュータのOSには、各国語版がありました。それはなぜかというと、使えるメモリやストレージが少なかったので、すべての国の文字コードを含めて配布することが難しかったからです。日本語を使いたければ日本語版のWindowsを選ばなければなりませんでした。

こういう風に分断されているとき、日本語の入っていないOSを使っている人から見ると、マルチバイト文字は謎の数列になっていました。

今は大抵のOSは主要な言語(ロケール)を含んでいます。文字コードもUnicodeで世界中の文字を含めようとしています。

どういうことかというと、アルファベット圏の人たちのパソコン上でもちゃんと日本語がその字形のまま表示されるということなのです。

もちろん、入力するのは難しいでしょう。それでもコピペするのはできますよね。

そう考えると、カバーのFacebookのような表示、一種の手抜きに見えてきませんか?

これ、きちんと日本語の字形で表示することは技術的に不可能ではないのです。それほど難しいことでもありません。

まあ、プログラミングをしているひとにしてみたら文字列などただの記号列だという認識だというのもわかります。僕もただめんどくさいなあと思います。

でも、こういう文化が現れるところを技術を理由にしていいかげんにするのが良いことだとは思えません。

なぜ日本語をそのまま表示できないのか、表示するためにどうしたらいいのか。これは日本人が疑問に思い、自らが頑張らなければならないところではないかと思います。

かつて、コンピュータ上で日本語を使うために日本のエンジニアが頑張った歴史があります。一文字が1バイトで表されるのが当然の世界の人々に、複数バイト文字が使えるようにしなければならないということを納得させるために頑張ったのはほかならない日本人なのです。

そういう歴史があって、世界中の人々がある程度自由に自分たちの文字が使えるのです。

過去に長いからURLを変えてほしいと言われたことがあります。ちょっとした知識のある人なら、見た目のリンク表示を見やすくすればよいことだと気づでしょう。本来ならそんな小細工なしに使えるのがいいのですが、今はそうなっていないのです。日本語を妥協するのとどちらが良いか。それはその人の価値観によることですが、僕はとても残念に思いました。

URLがいつまで使われるものかはわかりませんが、マルチバイト文字を使っているコンピュータの世界では後発の人々のためにも、URLエンコードがそのまま表示されるような手抜きを放っておいては良くないと僕は思うのです。

そういう背景があって、あえて記事のリソース名に日本語を残しています。

こんな些末なことから、ぜひITの歴史を知っていただき、自分たちが何をしなければならないのか気づいていただけたらと思っています。

Follow me!

読書と編集のオンライン講座

マンツーマンオンラインで読書と編集の講座を受講しましょう。3000円/30分から。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください