« 【Numbers】文字列操作(CharacterEntity入力支援)【その2】 | トップページ | [QR]QRバーコードを作る(商用向き)【その7】 »

CharacterEntityとURLencode

前回[LINK]OpenNewWindow
UnicodeのCharacterEntityについて
10進数と16進数の違いを
iWorkのnumbersを使って見てみました。

今回はURLエンコードと比較します。

 

まずは前回同様『文字パレット』を見てみましょう
546x688_url_01

日本語の『あ』は

Unicode(16進数)で3042
UTF-8でE38182

URLエンコードとキャラクタ実体での違いを
図にすると

559x378_url_03

このような違いになっている事がわかります。


CharacterEntityでは
3042に『&#x』を頭に 終わりに『;』を付けます
あとなります

一方URLエンコードは
UTF-8での『あ』のコード値の
E38182を2文字づつ『%』で区切ります。
%E3%81%82
 

では
このUTF-8のコード値はどうやって取得したら良いでしょう。
(文字パレット以外の方法で)

 
■バイナリーエディタを使う事で取得出来ます

361x394_url_02

UTF-8で保存してあるテキストファイルを
バイナリエディタで開く事で簡単に確認できます
コピーしたりするのも比較的簡単ですね。


■ hexdumpコマンドを使って表示させる事が出来ます。

まずはデスクトップに
以下のようなファイルを用意します。
a.txt には『あ』を
a.hex.txtは空のテキストファイルを用意しておきます。

こまんど
hexdump -v ~/Desktop/a.txt

Screencapture00220616_211831
このように
図のようにUTF-8の16進数コードを得る事が出来ます。


また
hexdump -v ~/Desktop/a.txt > ~/Desktop/a.hex.txt
このようにすれば
先ほどのテキストファイルに

Screencapture00220616_213026_2
このように
テキストとして内容を保存する事が出来ます。


 
最近では日本語のURLについて
サーバー DNS ブラウザ 共に対応が進んでいますので
あまり使う事も無くなりました
URLエンコードですが
仕組みについては
覚えておいても良いですね。

普段はこちら[LINK]OpenNewWindowのような
変換サービスを利用するのが吉でしょう。


 

追記
URLエンコードについては
UTF-8もSJISも同じ考え方
2文字づつ『%』で区切るは同じです。

1

上の図のように
SJISなら
『%82%a0』になります。


 

また
JeditX[LINK]OpenNewWindowを使って
URLエンコードする事も可能です。
(PHPのコマンドを使っています)
ライブラリ[LINK]OpenNewWindowにある
『選択部分をURLエンコード/デコードする』で

Screencapture00220622_160021

簡単変換出来ます。

このスクリプトを使えば
文字コードを表示する事も可能ですね。
(%取ればいいだけですから)

参考にしてください


   

|

« 【Numbers】文字列操作(CharacterEntity入力支援)【その2】 | トップページ | [QR]QRバーコードを作る(商用向き)【その7】 »

CharacterEntity」カテゴリの記事

コメント

この記事へのコメントは終了しました。