Should #puts convert to external encoding?
puts "?\x00\x42\x30".force_encoding(Encoding::UTF_16LE) ?B0 puts "?\x00\x42\x30".force_encoding(Encoding::UTF_16LE).encode("utf-8") ?あ
The first result is surprising to me. It seems to treat the String as raw bytes and just "assume" they are displayable in the external encoding.
Should #puts re-encode the String to print in Encoding.default_external or the locale encoding?
seems to do what I expect, but should that be the default?