Ruby'deki yerleşik Base64 kütüphanesi bazı '\ n ekliyor. Sebebini bulamıyorum. Bu özel örnek için:
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'ler sondan ve 6. konumdan sona erer. Kod çözücü (Base64.decode64) eski dizeyi mükemmel bir şekilde geri döndürür. Garip bir şey, bu \ n kodlanmış dizeye herhangi bir değer katmıyor. Çıktı dizesinden yeni satırları çıkardığımda, kod çözücü kodu tekrar mükemmel şekilde çözer.
irb(main):005:0> Base64.decode64(Base64.encode64(str).gsub("\n", '')) == str
=> true
Dahası, aynı giriş dizesinin base64 kodlu çıktısını üretmek için başka bir JS kütüphanesi kullandım, çıktı \ n's olmadan geliyor.
Bu bir hata mı yoksa başka bir şey mi? Bu sorunla daha önce karşılaşan var mı?
Bilginize,
$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]