watanabe> といろいろ問題はあるけど pack("m") は encode した結果が長く
watanabe> なると勝手に改行入れます. これが一番の問題になるかもしれない.
watanabe> 
watanabe> :       "=?ISO-2022-JP?B?" + [$1].pack("m").chop + "?="
watanabe> 
watanabe> これだけだとまずいんですよね.

うぎゃ。。。。
もともと MIME encode には 1行70(ぐらい正確な数字忘れた)Byteを
越えたら、一端打ち切って、改行せい、ってのがあるですね。
まあ、なくても decode はできるからええや ってそこは無視したん
ですが、pack("m") 自身もやってくれるのですか。

改行の切れ目は、元の文字列の文字と文字の間、 なのか
そんなことは全く考えないのかどちらでしょう。
      ソース読めば判りますが、書いた人がいらっしゃるから。

# encode長を気にしながらってのも大変だな。
# そもそも長くなった時、改行して、行の頭に タブ ってので
# 良いのか?みな メールヘッダー用ってわけでもなかろうからこまるな。
# 配列で返すか、、、、
# String の method で、戻って来た String が必要なのに、配列が
# 返って来るってのもな、、、