Actions
Bug #3180
closedgetc with text mode breaks incomplete character immediately before EOF
Description
=begin
遠藤です。
coding: UTF-8¶
"う" の途中で切れた中途半端なファイルを作る¶
s = "あいうえお".force_encoding("ASCII-8BIT")
open("foo.txt", "wb") {|f| f.write(s[0, 8]) }
IO#read で一気に読めば期待通り¶
open("foo.txt", "rt") {|f| p f.read } #=> "あい\xE3\x81"
UTF-8 を明示すると UTF-8 になるが、最後の文字が化ける¶
open("foo.txt", "rt:UTF-8") {|f| p f.chars.to_a }
#=> ["あ", "い", "\u0000\u0000"]
LANG は ja_JP.UTF-8 です。
incomplete な文字が "\0\0" に化けるのは意図的でしょうか。
期待としては、["あ", "い", "\xE3", "\x81"] です。
--
Yusuke Endoh mame@tsg.ne.jp
=end
Actions
Like0
Like0