我有这段代码,使用 Ruby 2.3.1 运行:
str = "麦克风访问被拒绝"
puts str.encoding #=> "UTF-8"
conv = Encoding::Converter.new("UTF-8", "UTF-16LE")
str = conv.convert(str)
puts str.encoding #=> "UTF-16LE"
Zlib::GzipWriter.open("test.gz", encoding: "UTF-16LE") do |gz|
puts str.encoding #=> "UTF-16LE"
gz.write(str)
end
Zlib::GzipReader.open("test.gz") do |gz|
puts gz.read.encoding #=> ASCII-8BIT
gz.read
end
并返回 [无效编码]
如何以将编码保持为 UTF-16LE 的方式保存文件?