すがブロ

sugamasaoのhatenablogだよ

RFC2231を読む(2)

人生に三度来るという RFC 読みたい期の第一期はまだ続く

まだまだ読みたい期は終わらない。
RFC2231 はなんとなく理解できた。というか、そんなに難しくなかった。。。
ま、文字種を厳密に見てないから、というのもあるのですけどね><
説明のため、RFC2231 において、

filename=hogehoge.jpg

という形式のフォーマットの = の左辺を key、右辺を value とする。

key の決まり

  • 使える文字種は ASCII 文字だよ
  • でも、スペースと*と'と%とコントロールコードと、tspecials*1 と呼ばれる文字種は使えないよ
  • ただし、分割数を現す部分は * と数値と * で表現するよ。
  • 数値は一桁とは限らないよ
  • value を1行で表示できない場合は、 *数値 で分割するよ
    • つまり、 filename*0* とか、 filename*10* とかになるよ。
  • value が US-ASCII 以外の場合はエンコードするよ(valueの決まり参照)。エンコードする場合は key の末尾に * を付けるよ

つまり

  • filename=... ならUS-ASCII の1行
  • filename*=... なら エンコード済みの1行
  • filename*0=... ならUS-ASCII の複数行
  • filename*0*=... ならエンコード済みの複数行

というわけだ。

value の決まり

またこんど><

*1:tspecialsでググってみよう!