【发布时间】:2013-03-16 13:59:36
【问题描述】:
我需要将巨大的 Unicode 文件读入我的程序并转换为 ANSI 进行解析,对于某些文件,将它们再次存储为 Univode,而其他文件应该在 ANSI 代码页中。
据我了解,简单的读/写不支持 Unicode 文本,对于最大的文件(有些可能高达 300 Mb 甚至更大)使用 twidestring.loadfromfile 是毫无疑问的,因为内存使用和加载时间。
我一直想知道加载块是否可以成为解决方案,但据我所知,它不支持 Unicode BOM?
有什么建议吗?
【问题讨论】:
-
尝试创建一个程序,将该文件分成更小的部分,在索引这些部分后,您可以阅读每个部分。最终这些块尝试将它们写入内存。
-
一次只读取一个文件。处理每个部分并继续下一个。
-
你为什么使用非 unicode 的 Delphi 2006 版?如果您关心 unicode,请移至 unicode delphi 版本。接下来你加载它之后,你打算做什么?仅在 TNT 组件中显示?浪费时间和精力。
标签: delphi unicode delphi-2006