正如标题所描述的,我该如何完成以下操作?
require 'base64'
text = 'éééé'
encode = Base64.encode64(text)
Base64.decode64(encode)
Result: éééé instead of xC3xA9xC3xA9
当您decode64
时,您会返回一个具有BINARY
(也称为ASCII-8BIT
(编码的字符串:
Base64.decode64(encode).encoding
# => #<Encoding:ASCII-8BIT>
诀窍是强制应用特定的编码:
Base64.decode64(encode).force_encoding('UTF-8')
# => "éééé"
这假设您的字符串是有效的UTF-8,但可能不是,因此请谨慎使用。
只需使用Base64的encode
和decode
方法:
require 'base64'
=> true
Base64.encode64('aksdfjd')
=> "YWtzZGZqZA==n"
Base64.decode64 "YWtzZGZqZA==n"
=> "aksdfjd"