我用CH376读中文文件名,转换为长文件名后读出的是中文的 UNICODE,但是读取韩文文件名的时候发现就不是这么回事了。 韩文转换为长文件名后发现: 有的文件名中韩文文字读出的是UNICODE,扩展部分是ASCII,最奇怪的是 前十个是空的 图片是文件 后一张是读出的文件名
热门产品 :
CH634: 4端口USB3.0 HUB控制器芯片
我用CH376读中文文件名,转换为长文件名后读出的是中文的 UNICODE,但是读取韩文文件名的时候发现就不是这么回事了。 韩文转换为长文件名后发现: 有的文件名中韩文文字读出的是UNICODE,扩展部分是ASCII,最奇怪的是 前十个是空的 图片是文件 后一张是读出的文件名
韩文的UNICODE编码和中文的编码可能会不一样,所以你需要做一个韩文的字库才可以。至于数据是否正确可以直接使用WINHEX软件看下这个文件名前面10个字节是否为0x00
中文的长文件名 读出来的扩展名也是UNICODE,但是这个读出来的扩展名很明显只有一个字节 见上面图片最后的 .zip 读出来为:2E 7A 69 10 ,而中文读出来的是 00 2E 00 7A 00 69 00 10
这个明显是文件名编码问题。和芯片的文件系统没有什么关系。
发现问题 用长文件名方式读出来的都是Unicode,是这么回事吗?
是的,FAT文件系统的长文件名都是UNICODE编码,只是不同的语言对应的UNICODE编码是不一样的。