我正在尝试用 C++ 创建一个跨平台应用程序来执行字符转换。 我已经按照规则设置了 UTF-8 转换表。 eq( A = 埃).我使用 boost 库来获取文件名。我的理解是,我必须将它们从编码 X 转换为 UTF-8,进行转换,转换回编码 X 并使用新文件名保存。我如何找出文件系统正在使用的编码?
最佳答案
Windows 使用 UTF-16,而 Linux 平台通常是“二进制”。我所说的二进制是指您在文件名中看到的任何字节都是文件名 - 不要解码或重新编码字节。没有指示符表明它们是以什么格式编写的,但通常是 UTF-8。
关于c++ - 有没有办法在 C++ 中检测 Windows 和 Linux 上的文件名编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18602419/