我正在寫一個Ruby腳本來處理一個大的文本文件,並不斷得到一個奇怪的編碼錯誤。 這裏的情況:爲什麼在讀取文本文件時出現「UTF-8中的無效字節序列」錯誤?
input_data = File.new(in_path, 'r').read
p input_data.encoding.name # UTF-8
break_char = "\r".encode("UTF-8")
p break_char # "\r"
p break_char.encoding.name # "UTF-8"
input_data.split(",".encode("UTF-8"))
p Encoding.compatible?(input_data, break_char) # # Encoding:UTF-8>
這會產生錯誤:in 'split': invalid byte sequence in UTF-8 (ArgumentError)
我看http://blog.grayproductions.net/articles/ruby_19s_string,看着其他的解決方案,顯然同樣的問題,但仍然不能工作了,爲什麼它的發生的時候,我相信我控制編碼。
我在OSX使用Ruby 1.9.2
解釋它,謝謝:) – Nat 2011-06-16 18:07:41
你的例子也提供了一個UTF-8無效字節的字符串示例幫助我。謝謝! – Chris 2012-02-15 19:29:04