热度 25
2013-5-23 10:24
1562 次阅读|
0 个评论
最近在学fat32文件系统是如何组织硬盘上的数据存储的问题。 关于数据编码格式,fat32文件系统中的无论是中文字符还是英文字符都是以unicode编码的形式存在。 但如果要存储的是以这个名字命名的文件夹:“新建文件夹测试我是谁hellokitty”, 短文件名的中文字符也是以gbk编码的形式存在。比如以“测试”为名字的文件夹。 我们都知道为了兼容短文件名,需要截取长文件名的前六个字节加~1,组成短文件名,此时短文件名的编码方式为gbk编码。编码字符如下:D0 C2 BD A8 CE C4 7E 31。 而它的长文件名部分,则是以unicode编码格式存在。 而且fat32和ntfs格式的硬盘存储的文件或文件夹不区分大小写的,比如hello.c和HELLO.c,是不能同时存在同一个文件夹中。 可是linux的ext2,ext3,ext4对文件活文件夹的名字是区分大小写的。即hello.c和HELLO.c可以再同一目录存在。 而关于存在于优盘上的txt文件中的中文字符编码,则是以gbk编码形式存在。 英文字符则是以ascii码形式存在!!