Project

General

Profile

Actions

Feature #471

closed

pack format 'm' based on RFC 4648

Added by mame (Yusuke Endoh) about 16 years ago. Updated over 13 years ago.

Status:
Closed
Target version:
[ruby-dev:35904]

Description

=begin
遠藤です。

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
=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0