刚开始研究一个 perl 应用程序。需要一些建议如何(正确)处理unicode filenames
vs filenames in the file content
- 便携方式。
这里有几个系统,Windows 和 Unix 世界使用不同的 unicode 编码(Unixes utf8,Windows - 不知道),但是 Linux 和 Mac OS X 不同的文件名 unicode 规范化。(OS X - 强制 NFD,Linux - “通常” NFC)。
我已经读过的所有建议都说:(总是在应用程序边界规范化 unicode 数据) - 但问题是 - 什么是正确的 - 最便携的方法?
问题在于,OS X(创建文本文件时)使用 NFC 获取内容。我不知道其他系统使用什么。
所以问题是,制作便携式应用程序和处理文件名的正确方法是:
- 开放目录/读取目录
- glob 和类似的“文件操作”
- 文本文件(将包含文件名的内容)
- perl 内部...
- 其他?
何时何地进行标准化?如何保存内容中包含文件名的 utf8 文本文件?
我知道,StacOverflow 中已经有许多与 perl-unicode 相关的问题。我可能挖掘了其中的大部分——但仍然不明白处理上述问题列表的“推荐”做法是什么。
是否需要制作模块来处理特定的操作系统差异?或者这里已经有 CPAN 模块处理文件操作中的操作系统差异?)
有人可以通过推荐的做法向我指出一些好的资源吗?还是像我现在想的那样简单得多?