Project

General

Profile

Bug #20526

Updated by kou (Kouhei Sutou) 6 months ago

I'm not sure whether this is an intentional behavior or not but it seems that `encoding: "utf-8"` doesn't change newline conversion but `encoding: "bom|utf-8"` changes newline conversion: 

 ```ruby 
 File.write("a.txt", "a\r\n") 
 File.read("a.txt").bytes # => [97, 13, 10] 
 File.open("a.txt", encoding: "utf-8") {|f| f.read.bytes} # => [97, 10, 10] 
 File.open("a.txt", encoding: "bom|utf-8") {|f| f.read.bytes} # => [97, 10] XXX: \r\n -> \n 
 File.open("a.txt", encoding: "bom|utf-8", universal_newline: false) {|f| f.read.bytes} # => [97, 13, 10] 
 ``` 

 Note that the `XXX: ` line in the above codes. Is this an intentional behavior?

Back