Actions
Bug #13216
closedPossible unexpected behaviour reading string starting with a byte order mark
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
Description
Maybe the comparison between symbols has an unexpected behaviour. Tested with ruby 2.4.0
$ echo -n -e '\xEF\xBB\xBFid' | ruby -e 'puts STDIN.read.bytes'
239
187
191
105
100
$ echo -n -e 'id' | ruby -e 'puts STDIN.read.bytes'
105
100
$ echo -n -e '\xEF\xBB\xBFid' | ruby -e 'puts STDIN.read.to_sym'
id
$ echo -n -e 'id' | ruby -e 'puts STDIN.read.to_sym'
id
$ echo -n -e '\xEF\xBB\xBFid' | ruby -e 'puts STDIN.read.to_sym == :id'
false
$ echo -n -e 'id' | ruby -e 'puts STDIN.read.to_sym == :id'
true
$ echo -n -e '\xEF\xBB\xBFid' | ruby -e 'puts STDIN.read.bytes.pack("U")'
ï
Actions
Like0
Like0Like0Like0