正如标题所描述的,我如何才能做到以下几点?
require 'base64' text = 'éééé' encode = Base64.encode64(text) Base64.decode64(encode) Result: éééé instead of \xC3\xA9\xC3\xA9
bxjv4tth1#
当你执行decode64时,你会得到一个BINARY(又名ASCII-8BIT)编码的字符串:
decode64
BINARY
ASCII-8BIT
Base64.decode64(encode).encoding # => #<Encoding:ASCII-8BIT>
诀窍是强制应用特定的编码:
Base64.decode64(encode).force_encoding('UTF-8') # => "éééé"
这假定您的字符串是有效的UTF-8,但它可能不是,因此请谨慎使用。
cuxqih212#
只需使用Base64的encode和decode方法:
encode
decode
require 'base64' => true Base64.encode64('aksdfjd') => "YWtzZGZqZA==\n" Base64.decode64 "YWtzZGZqZA==\n" => "aksdfjd"
2条答案
按热度按时间bxjv4tth1#
当你执行
decode64
时,你会得到一个BINARY
(又名ASCII-8BIT
)编码的字符串:诀窍是强制应用特定的编码:
这假定您的字符串是有效的UTF-8,但它可能不是,因此请谨慎使用。
cuxqih212#
只需使用Base64的
encode
和decode
方法: