From: Yusuke ENDOH Date: 2008-08-21T22:38:52+09:00 Subject: [ruby-dev:35904] [Feature:1.9] pack format 'm' based on RFC 4648 遠藤です。 Python の base64.py は RFC 3548 準拠ですが、Ruby の pack の m は現在 RFC 2045 準拠で、ちょっと古いです。 そこで RFC 4648 に準拠するのはどうでしょうか。 私が読んだ感じでは、RFC 2045 -> RFC 4648 の変更点は以下の 3 つのようです。 1) 折り返さない (MUST) 2) デコード対象外の文字 (改行含む) があったら拒絶する (MUST) 3) URL やファイル名安全なバリアントが定義されている (+/ でなく -_ を使う) (定義されてるだけでサポート必須ではない) 今まで私が pack の m を使うときは [str].pack("m").gsub("\n", "") が イディオムのようになっていたので、1) はとても便利だと思います。 必須ではないですが、3) も便利そうです。base64.py でも提供されています。 どういう形で提供するかは難しいところですが。 -- Yusuke ENDOH