uspTukubaiコマンドに関する様々な資料がここにあります。

 

 

魂内検索

DOCUMENTS

COMMAND

FORUM

UEC DOCS

VIDEO

 

ABC順リスト |  カテゴリ別リスト

(動画教材準備中)

utf8nude

<概要>

utf8nude : ASCIIで表示不可の文字、UTF8でコード外のバイト列を弾く

<書式>

Usage   : utf8nude <filename>
Options : -e --- 不正なバイトで止める
          -i --- 置換したら終了ステータス1を返す
          -d<文字列> --- 変換文字列を置き換える

Version : Tue Dec  12 12:12:12 JST 2012

<説明>

POSTされたデータをcgi-name等で変換した後、
不適切なバイト列を除去します。ここで不適切とは、

* ASCIIコード内であるが、表示できないコード、CRの0x0d
* ASCIIコード、UTF8のコード体系のどちらにも属さないバイト列
* UTF8の5,6バイトコード

のことです。
空白、タブ、改行は許可します。

<例1>

以下のように、ヌル文字等を指定すると削除されます。

//ヌル文字をはさむ
$ echo -e 'あいう\x0えお' | utf8nude
あいうえお

//DELを除去(odやxdumpで見ると消えている。)
$ echo -e '\x7f' | utf8nude | od -x
0000000      000a
0000001

//文字は割り当てられてないがコードとしては正しい場合は何もしない。
$ echo -e '\xEF\xBF\xBF' | utf8nude
???

//UTF8でとりうるビット列の外
$ echo -e '\xEF\xBF\xC0' | utf8nude


<例2>

文字の変換が行われたかどうかは、-iオプションで調査できます。
また、すぐに出力を止めたいときは -eオプションを指定します。

//通常は変換しても終了ステータス0
$ echo -e '\x0' | utf8nude

$ echo $?
0
//変換したらエラーにする
$ echo -e '\x0' | utf8nude -i

$ echo $?
1

//-eオプションだと出力しない。
$ echo -e '\x0' | utf8nude -e
Error[utf8nude]: 不正な文字です。
$ echo $?
1

<例3>

-d<文字列> で、変換に使うダミー文字を指定できます。

$ echo -e '\x0 \x0' | utf8nude -dダミー
ダミー   ダミー