Actions
Bug #19235
closedStringIO.new(encoding: "ext_enc:int_enc") doesn't set external encoding
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>
Updated by zverok (Victor Shepelev) about 2 years ago
- Related to Bug #16497: StringIO#internal_encoding is broken (more severely in 2.7) added
Updated by zverok (Victor Shepelev) about 2 years ago
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.
Updated by zverok (Victor Shepelev) about 2 years ago
Though it is kinda specified in README :)))
encoding conversion is not implemented, and ignored silently.
Updated by andrykonchin (Andrew Konchin) about 2 years ago
- Description updated (diff)
Updated by andrykonchin (Andrew Konchin) almost 2 years ago
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?
Updated by jeremyevans0 (Jeremy Evans) almost 2 years ago
- Status changed from Open to Closed
Actions
Like0
Like0Like0Like0Like0Like0Like0