[发明专利]一种Linux VFAT文件系统模块支持GB18030字符集的方法有效
申请号: | 201310364438.3 | 申请日: | 2013-08-20 |
公开(公告)号: | CN103399843A | 公开(公告)日: | 2013-11-20 |
发明(设计)人: | 李喜毅;周转运;曹祁生;赵伟 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F17/22 | 分类号: | G06F17/22 |
代理公司: | 北京捷诚信通专利事务所(普通合伙) 11221 | 代理人: | 魏殿绅;庞炳良 |
地址: | 430074 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux vfat 文件系统 模块 支持 gb18030 字符集 方法 | ||
1.一种Linux VFAT文件系统模块支持GB18030字符集的方法,所述GB18030字符集指GB18030-2005字符集,GB18030字符集包括双字节部分和四字节部分,其特征在于:将字符集划分为:
双字节区,字符集中双字节部分的21003个汉字,对应到GBK编码、GB18030编码和Unicode编码;
四字节区扩充A,字符集中四字节部分的CJK统一汉字扩充A的6530个汉字,对应到GB18030编码和Unicode编码;
四字节区扩充B,字符集中四字节部分的CJK统一汉字扩充B的42711个汉字,对应到GB18030编码、Unicode编码和UTF-16编码;
双字节区扩充A,字符集中四字节区扩充A和双字节区中共有的52个汉字,对应到GBK编码、PUA区编码和扩充A区编码。
双字节汉字均采取了查表方式,四字节区扩充A的汉字与Unicode编码转换以及四字节区扩充B的汉字与UTF编码转换均采用算法实现。
双字节汉字包括双字节区的21003个汉字和双字节区扩充A的52个汉字。
2.如权利要求1所述的Linux VFAT文件系统模块支持GB18030字符集的方法,其特征在于:当采用查表法支持双字节汉字时,双字节区是GB18030编码和Unicode编码一一对应;双字节区扩充A按以下规律对应Unicode编码:双字节,第一个字节的值从0x81到0xFE,第二个字节的值从0x40到0xFE,但不包括0x7F;对应的Unicode编码规律为:双字节,第一个字节的值从0x4E到0xFA,第二个字节的值从0x00到0xFF。
3.如权利要求2所述的Linux VFAT文件系统模块支持GB18030字符集的方法,其特征在于:将双字节Unicode编码转换为GB18030双字节字符编码,包括如下步骤:
(1)接收双字节区或者双字节区扩充A的双字节Unicode编码;
(2)剥离其高低字节;
(3)根据高字节值查找字符数组指针表对应的GB18030双字节字符编码字符数组;
(4)根据低字节值查找字符数组指针表里对应的GB18030双字节字符编码字符数组;
(5)返回处理结果;
该过程可逆。
4.如权利要求1所述的Linux VFAT文件系统模块支持GB18030字符集的方法,其特征在于:采用2字节转4字节算法实现四字节区扩充A的汉字的处理;
采用4字节转4字节算法实现四字节区扩充B的汉字的处理。
5.如权利要求4所述的Linux VFAT文件系统模块支持GB18030字符集的方法,其特征在于:当VFAT文件系统模块在读取Unicode编码或UTF编码时,首先检查编码类型,根据编码类型,来决定是否转换成四字节区扩充A和四字节区扩充B的汉字;
当VFAT文件系统模块在写字符集时,首先检查字符集是否为四字节区扩充A和四字节区扩充B,然后决定是否转换为4字节Unicode编码或4字节UTF编码。
6.如权利要求4所述的Linux VFAT文件系统模块支持GB18030字符集的方法,其特征在于:采用2字节转4字节算法支持四字节区扩充A的汉字,其规律为,四字节,第一个字节的值从0x81到0x82,第二个字节的值从0x30到0x39,第三个字节从0x81到0xFE,第四个字节从0x30到0x39;
对应的Unicode编码规律为,双字节,第一个字节的值从0x34到0x4D,第二个字节的值从0x00到0xFF。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310364438.3/1.html,转载请声明来源钻瓜专利网。