Bug #20802
Updated by javanthropus (Jeremy Bopp) about 1 month ago
I don't know what problems this may cause, but there are guards against setting the encoding of an IO instance to one such as UTF-16LE when the IO instance is not set to binary mode. Here is a method to bypass those guards:
```ruby
f1 = File.open('/dev/null')
f2 = File.open('/dev/null')
f1.binmode
f1.set_encoding('utf-16le')
f2.set_encoding('utf-8')
f1.reopen(f2)
f1.binmode? # <= false
f1.external_encoding # <= Encoding::UTF_16LE
```