首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >posix系统如何支持unicode?

问posix系统如何支持unicode?
EN

Stack Overflow用户
提问于 2014-04-13 03:35:56
回答 2查看 1.8K关注 0票数 0

我见过许多android系统,例如Linux & Mac和android,它们接受const char*作为文件路径的参数。

其中一个例子是dlopen,如文档所示,第一个参数是const char*,那么它是否支持Unicode文件路径,例如使用中文的路径?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-13 03:38:51

假定在现代Linux/Unix系统中,unicode文件名是用面向字节的UTF-8语言环境表示的(尽管一些底层文件系统在UTF-16中存储内部文件名)。

票数 2
EN

Stack Overflow用户

发布于 2014-04-13 03:42:11

支持Unicode文件名不需要POSIX。(参见:https://stackoverflow.com/a/2306003/481267)但是,只要它们是用UTF-8编码的,那么支持Unicode就没有技术障碍。许多现代文件系统允许文件名中的任何字符,但\0和/除外。

POSIX API处理以空结尾的字节序列,当字符串用UTF-8编码时,没有代码点的表示包含零字节。此外,ASCII范围以外的所有字符(0x00-0x7f)都完全使用具有高阶位集(0x80-0xff)的字节进行编码,因此不可能将系统混淆为在某些Unicode字符中间存在一个目录分隔符。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23038827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档