作者: davi
日時: 2005/8/07(03:41)
Bruce.さん  <  こん??は でび です

On Sat, 06 Aug 2005 21:30:24 +0900
"Bruce." <kbk@...> wrote:

> UTF-8のときならともかくSJISやEUCのときもですか?
> それはともかくあまり大仰になるのも…(^^;

プログラム的な処理の実態はわかりませんが、処理対象
ファイルがSJISやEUCなら、U+03AAの「Iの上に“‥”」
とかは表現しようが無いでしょうから、「ハミ出る部分は
知らんもんね」的な実装をすれば楽じゃん?
という風に考えたのですね。

U+0370〜U+03FFを[:GreekAndCoptic:]とかにしておいて、
S-JISの839F〜83FCはその中に含まれるから、適宜処理
されるでしょ、みたいな。

大きいことは良いことだで、単純化しすぎでしょうか。

−−−−−−−−−−−−−−−−

>「こーゆーのがほしーなー」というのがあったら声をあげてください。
>必ず採用するという保証はありませんが、考慮します。

じゃ、例えば、sedで\x及び類似表現をデコードするような
機能の実装はどうでしょう。

従来はPerlのバイナリモードでないとできなかったような
ことですが、Unicodeの普及によって「テキストファイル」
という概念そのものに揺らぎが出ているような気がします。

UTF8のファイルなんて、dos3.xのNEC98マシンにしてみれば
バイナリファイルそのものでしかないわけで…。

HTMLファイルをInternet Explorerを使ってASCIIコードに指定
して保存すると、&#31833;(10進)とか&#x7c59;(16進)とか
で表現されます。

URLでは%記号に16進数の符号化表示が使われることがあります。

国際化ドメイン名でのURL詐称への対応策では、Punycode
(RFC3492)とかってUnicodeの符号化方式が使われたようです。

このような、非ASCII文字をASCIIで表現する方法がいくつか
ありますが、こういうのをデコードする(って言い方で良いの
かな?)\xに類似の機能も欲しい気がしています。

ちょっと検索してみたら、PHPにはそういう組み込み関数が
あるようですが。

でび  http://homepage1.nifty.com/davi/