Bil*_*eal 7 windows string locale case-insensitive
在Windows上,文件比较是不区分大小写的操作.但是,真正不区分大小写的系统会对区域设置敏感,并且必须处理三种情况,而不是两种情况(至少根据Unicode).出于各种原因,如果可能的话,我想复制Windows在Windows之外执行此操作的方式.
Windows是否使用这种语言环境支持,或者它是否遵循更可预测的模式(例如,有点像C#的OrdinalIgnoreCase设置)?
据我所知NTFS支持两种模式:
POSIX 命名空间:
除 U+0000 (NUL) 和 /(斜杠)之外的任何 UTF-16 代码单元(区分大小写)。
Win32 命名空间:
任何 UTF-16 代码单元(不区分大小写),除了 U+0000 (NUL) / (斜杠) \ (反斜杠) 和其他一些字符等:*"。
在 Win32 模式下,任何使用 Win32-API 的程序都会将文件名的任何字符转换为大写(如果可能)并在内部使用该名称。
| 归档时间: |
|
| 查看次数: |
1772 次 |
| 最近记录: |