CharacterEntityとURLencode
前回[LINK]
UnicodeのCharacterEntityについて
10進数と16進数の違いを
iWorkのnumbersを使って見てみました。
今回はURLエンコードと比較します。
日本語の『あ』は
Unicode(16進数)で3042
UTF-8でE38182
URLエンコードとキャラクタ実体での違いを
図にすると
このような違いになっている事がわかります。
CharacterEntityでは
3042に『&#x』を頭に 終わりに『;』を付けます
あとなります
一方URLエンコードは
UTF-8での『あ』のコード値の
E38182を2文字づつ『%』で区切ります。
%E3%81%82
では
このUTF-8のコード値はどうやって取得したら良いでしょう。
(文字パレット以外の方法で)
■バイナリーエディタを使う事で取得出来ます
UTF-8で保存してあるテキストファイルを
バイナリエディタで開く事で簡単に確認できます
コピーしたりするのも比較的簡単ですね。
■ hexdumpコマンドを使って表示させる事が出来ます。
まずはデスクトップに
以下のようなファイルを用意します。
a.txt には『あ』を
a.hex.txtは空のテキストファイルを用意しておきます。
こまんど
hexdump -v ~/Desktop/a.txt
で
このように
図のようにUTF-8の16進数コードを得る事が出来ます。
また
hexdump -v ~/Desktop/a.txt > ~/Desktop/a.hex.txt
このようにすれば
先ほどのテキストファイルに
最近では日本語のURLについて
サーバー DNS ブラウザ 共に対応が進んでいますので
あまり使う事も無くなりました
URLエンコードですが
仕組みについては
覚えておいても良いですね。
普段はこちら[LINK]のような
変換サービスを利用するのが吉でしょう。
追記
URLエンコードについては
UTF-8もSJISも同じ考え方
2文字づつ『%』で区切るは同じです。
上の図のように
SJISなら
『%82%a0』になります。
また
JeditX[LINK]を使って
URLエンコードする事も可能です。
(PHPのコマンドを使っています)
ライブラリ[LINK]にある
『選択部分をURLエンコード/デコードする』で
簡単変換出来ます。
このスクリプトを使えば
文字コードを表示する事も可能ですね。
(%取ればいいだけですから)
参考にしてください
| 固定リンク
「CharacterEntity」カテゴリの記事
- [AppleScripts]シングルクオトのエスケープ処理(phpを使う時のお約束)(2013.05.26)
- [AppleScript]ユニコードエスケープをデコードする【その2:pythonを使う】(2013.02.10)
- [AppleScript]ユニコードエスケープをデコードする【その1:phpを使う】(2013.02.10)
- [HTML5]Named character references(2011.01.21)
- これは便利だぁCharacterEntity取得ツール(2011.01.15)
この記事へのコメントは終了しました。
コメント