Rubyのbase64エンコードされた文字列の奇妙な\ n
Rubyの組み込みBase64ライブラリは、いくつかの '\ n'を追加しています。理由がわかりません。この特別な例では: irb(main):001:0> require 'rubygems' => true irb(main):002:0> require 'base64' => true irb(main):003:0> str = "1110--ad6ca0b06e1fbeb7e6518a0418a73a6e04a67054" => "1110--ad6ca0b06e1fbeb7e6518a0418a73a6e04a67054" irb(main):004:0> Base64.encode64(str) => "MTExMC0tYWQ2Y2EwYjA2ZTFmYmViN2U2NTE4YTA0MThhNzNhNmUwNGE2NzA1\nNA==\n" \ nは最後から6番目の位置にあります。デコーダー(Base64.decode64)は、古い文字列を完全に返します。奇妙なことに、これらはエンコードされた文字列に値を追加しません。出力文字列から改行を削除すると、デコーダはそれを完全に再度デコードします。 irb(main):005:0> Base64.decode64(Base64.encode64(str).gsub("\n", '')) == str => true さらに、別のJSライブラリを使用して、同じ入力文字列のbase64エンコード出力を生成しました。出力には\ nがありません。 これはバグか何かですか?誰かが以前にこの問題に直面したことがありますか? ご参考までに、 $ ruby -v ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]