3

我了解到 Windows 在 x86/x64 系统上使用 UTF-16LE。Linux 呢?它使用哪种 Unicode 编码:UTF-16LE 还是 UTF-32?

4

2 回答 2

3

通常 Unix 更喜欢 UTF-8。该文档建议 Linux 内核也这样做。

于 2012-04-07T03:50:26.250 回答
3

http://www.xsquawkbox.net/xpsdk/mediawiki/Unicode

Linux

在 Linux 上,UTF8 是所有字符串的“本机”编码,是系统例程(如fopen().

所以 Linux在这方面就像计划 9 ,以及Linux 和 Windows 下的 boost::filesystem 和 Unicode注释

在我看来,boost::filesystemLinux 下没有提供宽字符串 in path::native(),尽管boost::filesystem::path已经用宽字符串进行了初始化。

这将排除 UTF-16 和 UTF-32,因为它们的所有变体都需要宽字符支持——字符串中允许 NUL 字节。

于 2012-04-07T04:01:01.293 回答