免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1626 | 回复: 2
打印 上一主题 下一主题

请问内核是否使用utf-8编码 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-13 11:02 |只看该作者 |倒序浏览
例如struct qstr结构体
struct qstr {
        unsigned int hash;
        unsigned int len;
        const unsigned char *name;
};

其中保存文件名的name字段,是否使用utf-8编码。这种编码是否与应用层的编码保持一致。

论坛徽章:
0
2 [报告]
发表于 2009-08-14 09:27 |只看该作者

回复 #1 caravsapm70 的帖子

从内核的code来看,kernel在__link_path_walk()的时候,只要你的file name里没'0'或者'/',就没有问题。

查了一下发现了这段话,内核里应该就是用的utf-8编码。

You can now already use any Unicode characters in file names. No kernel or file utilities need modifications. This is because file names in the kernel can be anything not containing a null byte, and '/' is used to delimit subdirectories. When encoded using UTF-8, non-ASCII characters will never be encoded using null bytes or slashes. All that happens is that file and directory names occupy more bytes than they contain characters. For example, a filename consisting of five greek characters will appear to the kernel as a 10-byte filename. The kernel does not know (and does not need to know) that these bytes are displayed as greek.

论坛徽章:
0
3 [报告]
发表于 2009-08-14 12:59 |只看该作者
非常感谢二楼
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP