有一个特定的语法格式,其中有一条label属性,该属性用来记录用户自行录入的信息,格式如下:
label = "备注内容";
为了解析这套语法,用antlr做了个文本解析工具。
当用这个工具处理ansi编码的文件时一切OK,然而当遇到非ansi编码格式的文本是却出了问题。
本以为只有非ansi编码格式的文本会有问题,后来发现有些含有特定语种的文本(例如文字为繁体中文,或者日文),即便是ansi格式依旧不能成功解析,但是,当我把这些文本中的内容copy出来,粘贴到另一个新建的ansi编码格式的文本中后,工具竟然可以正常工作了!
也想过程序运行时,将所有输入的文件内容转码并拷贝到一个临时文件中,这样就能确保它总能被程序解析,但是又觉得这样做似乎太笨了。
由于从未接触过有关编码格式的事情,望坛内高手支招
P.S: 现在我就在想,VS这种工具编辑环境,他们带怎么处理这类问题呢?