Bug #19235
closed
StringIO.new(encoding: "ext_enc:int_enc") doesn't set external encoding
Added by andrykonchin (Andrew Konchin) almost 2 years ago.
Updated almost 2 years ago.
Description
I noticed a divergence between IO :encoding
option documentation and StringIO's behaviour:
io = StringIO.new('', 'w', encoding: 'utf-8:ISO-8859-1')
io.external_encoding # => #<Encoding:ISO-8859-1>
According to the documentation:
:encoding: Specifies external and internal encodings as 'extern:intern'.
The IO class behaves in expected way:
f = File.open("test.txt", 'w', encoding: 'UTF-8:ISO-8859-1')
f.external_encoding # => #<Encoding:UTF-8>
Related issues
1 (1 open — 0 closed)
- Related to Bug #16497: StringIO#internal_encoding is broken (more severely in 2.7) added
The StringIO
doesn't have a proper concept of two encodings implemented :(
Also reported here #16497 but still not fixed completely.
I'll try to look into it this weekend.
Though it is kinda specified in README :)))
encoding conversion is not implemented, and ignored silently.
- Description updated (diff)
Yeah, so this issue is a duplicate. My bad (.
So this issue probably should be closed. I don't have permissions to close it myself. Could anybody close it?
- Status changed from Open to Closed
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0