MIMEのヘッダフィールドエンコーディング(RFC:2047)をちゃんと書こうとしたら意外に面倒だったのでメモ。 やること 文字列、文字エンコーディング(charset)、transfer encoding (enc)が 与えられた時に、encoded-word: =?charset?enc?encoded-text?= を生成する。encはB(base64)かQ(quoted-printable)。 制約 encoded-wordは75文字以下 (rfc2047, section2)。 しかし、これがヘッダフィールドのボディに現れた場合、ヘッダフィールド名とコロンの部分が付け加わるので、 rfc2822の行の長さのrecommendation (78) を満たそうとするとencoded-wordの 長さの限界はもっと小さくなる (もっとも、ヘッダフィールド名とコロンの 後にすぐCRLF
