Project

General

Profile

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 
 ```

Back