Actions
Feature #13124
openShould #puts convert to external encoding?
Feature #13124:
Should #puts convert to external encoding?
Status:
Open
Assignee:
-
Target version:
-
Description
For instance:
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?
STDOUT.set_encoding(Encoding.find("locale"))
seems to do what I expect, but should that be the default?
Actions