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
![Gauche:rfc.mime:rfc2047](https://cdn-ak-scissors.b.st-hatena.com/image/square/53a987f8da95ff3323da15345495ff0ac5db3cf3/height=288;version=1;width=512/https%3A%2F%2Fpractical-scheme.net%2Fwiliki%2Fthumbnail-placeholder.png)