রুবির ইনবিল্ট বেস 64 লাইব্রেরি কিছু ''s 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 এর শেষ থেকে শেষ এবং 6th ষ্ঠ অবস্থানে রয়েছে। ডিকোডার (বেস 64.ডেকোড 64) পুরানো স্ট্রিংটি পুরোপুরি ফিরিয়ে দেয়। আশ্চর্যের বিষয় হ'ল এগুলি এনকোড স্ট্রিংয়ে কোনও মান যুক্ত করে না। আমি যখন আউটপুট স্ট্রিং থেকে নিউলাইনগুলি সরিয়ে ফেলি, ডিকোডারটি আবার পুরোপুরি ডিকোড করে।
irb(main):005:0> Base64.decode64(Base64.encode64(str).gsub("\n", '')) == str
=> true
এর বেশি, আমি একই ইনপুট স্ট্রিংয়ের বেস 64 এনকোডড আউটপুট উত্পাদন করতে অন্য একটি জেএস লাইব্রেরি ব্যবহার করেছি, আউটপুট \ n এর ছাড়াই আসে।
এটি কি বাগ বা অন্য কিছু? এর আগে কি কেউ এই সমস্যার মুখোমুখি হয়েছে?
অবগতির জন্য,
$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]