我需要读取巨大的Unicode文件到我的程序中,并转换为ANSI进行解析,并对于某些文件,将它们再次存储为Univode,而其他文件应放在ANSI代码页中。如何读取或写入巨大的Unicode文件?
正如我所了解的那样,简单的读写不支持Unicode文本,对于使用twidestring.loadfromfile
的最大文件(有些可能大至300 Mb甚至更大)是无可厚非的,因为内存使用率和时间加载。
我一直在想,如果加载块可能是一个解决方案的路径,但据我所知,它不支持Unicode BOM?
任何暗示?
尝试创建一个程序,将该文件转换为较小的部分,并且在索引这些部分之后,您可以读取每个部分。最终这些块试图将它们写入内存中。 – user1929959 2013-03-16 14:03:47
只需一次读取文件。处理每个部分并转到下一部分。 – 2013-03-16 16:02:26
为什么使用非Unicode的Delphi版本2006?如果您关心unicode,请转至unicode delphi版本。下载后,你打算做什么?仅在TNT组件中显示?浪费时间和精力。 – 2013-03-16 21:43:17