URLに日本語などが入っている場合、これをコピーすると、日本語部分(正確にはASCIIコード外の文字部分)がエンコードされてクリップボードに入る。これを「URLエンコード」(あるいはURLエンコーディング)あるいは「パーセントエンコード」という。
似たようなものに、HTML内で特殊な文字を表す「文字参照」がある。これは、俗にHTMLエンコードと呼ばれることがある。
○URLエンコード
URLエンコードは、最初RFC 1630 Universal Resource Identifiers in WWWで定義された。その後に登場したURL関連のRFCで定義されてきたが、現在では、WHATWG(Web Hypertext Application Technology Working Group)のURL Standardで定義されている。この文書では、%エンコードを「Percent-encoded bytes」と呼び、1.3. Percent-encoded bytesに記述がある。
このURL StandardではUTF-8を使うことが「義務づけ」られているため、URL全体をバイト列として扱うことができる。なお、シフトJISもEUC-JPもバイト列の文字エンコードなので同様に%エンコーディングが可能である。シフトJISもEUCも推奨はされないが、過去にこの文字エンコードでWebサイトのパスが記述されたことがあり、それらがまだ残っている可能性がある。
パーセントエンコーディングでは、バイトを2桁の16進数表現(0~9、A~Fまたはa~f)として、頭に“%”を付ける。
エンコード方式としては比較的簡単なものだが、元のURL文字列に戻すのは、コードポイントから文字を得るため、手作業ではちょっと難しい。PowerShellを使うと、HttpUtilityクラスが利用でき、そこにあるUrlEncode、UrlDecodeメソッドが使える(写真01)。
○HTMLエンコード
文字参照は、HTMLやXMLの元になったSGML(Standard Generalized Markup Language。
HTMLでは、これを簡易化して、「数値文字参照」と「文字実体参照」(合わせて文字参照と呼ぶ)を作った。現在のHTMLの仕様は、WHATWGで管理されており、HTML Standardの13.1.4 Character referencesに定義がある。
「数値文字参照」は、文字コード(コードポイント)を数値表現したもので文字を参照する。このとき、10進数と16進数を使うことができ、10進数の場合、10進数表現したコードポイントを“”と“;”で挟む。16進数のときには、“”と“;”で囲む。
「文字実体参照」は、文字に付けられた名前で文字を参照する。使うことができる名前は、HTMLの仕様で定義されており、すべての文字に名前が付けられているわけではない。
「数値文字参照」は、すべてのコードポイントを表現できるが、そのためには文字とコードポイントの対応を知っている必要がある。
なお、HTMLエンコードも前述のHttpUtilityクラスのHtmlEncode、HtmlDecodeメソッドでエンコード、デコードが可能だ(写真02)。
今回のタイトルネタは「フランチェスコの暗号」(新潮文庫。原題 The Rule of Four,2004 I・コールドウェル、D・トマスン)である。ルネッサンス時代の奇書「ヒュプネロトマキア・ポリフィリ」は、最初期の活字印刷物としても有名な実在の書籍。本書は、その謎を解こうとする大学院生とその回りで起きる事件を扱う。前年に刊行されたThe Da Vinci Code(2003、Dan Brown)と比較されることが多いが、ベストセラーになったものの、映画にもならなかったし、作品としてシリーズ化されたわけでもない。とはいえ、謎自体は、こちらのほうが洗練された感じがある。











![[USBで録画や再生可能]Tinguポータブルテレビ テレビ小型 14.1インチ 高齢者向け 病院使用可能 大画面 大音量 簡単操作 車中泊 車載用バッグ付き 良い画質 HDMI端子搭載 録画機能 YouTube視聴可能 モバイルバッテリーに対応 AC電源・車載電源に対応 スタンド/吊り下げ/車載の3種類設置 リモコン付き 遠距離操作可能 タイムシフト機能付き 底部ボタン 軽量 (14.1インチ)](https://m.media-amazon.com/images/I/51-Yonm5vZL._SL500_.jpg)