我正在解析Pokerstars的手牌历史。
当我尝试直接从Pokerstars文件解析手时,我收到以下错误:
Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
真正奇怪的是,如果我将pokerstars文本文件中的文本复制/粘贴到Textmate中并保存了Textmate .txt文件,那么我用数百手完全成功地解析相同的内容。
我认为它可能与换行符或Textmate默认的utf-8编码有关,但我对这些问题没有足够的了解来解决这个问题。
修改
我现在已确定Pokerstars文件是UTF-8编码的。我的下一个嫌疑人是行尾字符问题。
有关如何检查EOL字符的任何想法都在文件中使用?并将这些改为新的?
还有其他想法吗?我可能遗失的东西?
答案 0 :(得分:4)
我怀疑问题的原因是BOM,请在此处查看示例:
http://naturalcode.wordpress.com/2008/08/30/ruby-19-and-unicode-the-bom-will-fuck-your-shit-up/
How to avoid tripping over UTF-8 BOM when reading files
并进一步谷歌,如果该特定答案没有帮助。