rib*_*ram 5 unicode macos utf-8 hfs+ unicode-normalization
我需要在Windows和OS X上生成的文件名之间创建映射.我知道OS X "将所有文件名转换为分解的Unicode"但是,"大多数卷格式都不符合这些普通表单的确切规范"
因此,使用标准的UTF8 API将Windows名称转换为NFD并确保我拥有正确的OS X名称似乎并不是一件简单的事情.有没有办法确定实际的OS X文件名是什么,而无需在文件系统中实际创建文件,然后扫描目录以查看实际创建的内容?
我认为答案来自 TechNote 1150 HFS Plus Volume Format:
注意:Mac OS 文本编码转换器提供了几个常量,可让您在 HFS Plus 卷上存储的规范分解形式之间进行转换。使用 CreateTextEncoding 创建文本编码时,应将 TextEncodingBase 设置为 kTextEncodingUnicodeV2_0,将 TextEncodingVariant 设置为 kUnicodeCanonicalDecompVariant,并将 TextEncodingFormat 设置为 kUnicode16BitFormat。使用这些值可确保 Unicode 的形式与 HFS Plus 卷上的形式相同,即使 Unicode 标准不断发展也是如此。
| 归档时间: |
|
| 查看次数: |
1276 次 |
| 最近记录: |