专利名称:嵌入式终端及其utf-8、gb2312编码转换方法
技术领域:
本发明涉及电子技术领域,特别是涉及嵌入式移动终端及基于嵌入式移动
终端的编码转换方法。
背景技术:
UTF-8编码是用以解决国际上字符的一种多字节编码,它对英文使用一个字 节,中文使用三个字节来编码。对于英文字符较多则用UTF-8节省空间。UTF-8 编码的文字可以在各国各种支持UTF-8字符集的浏览器上显示。是目前服务器 端主要釆用的编码方式。
另外,GB2312码是我国公布的简体汉字编码方案,也称国标码,国标码对 6763个汉字集进行了编码,涵盖了大多数正在使用的汉字。目前这两种编码在 通信系统中都有比较广泛的应用。
GB2312是GBK的子集,GBK是GB18030的子集。GB2312、 GBK到GB18030都 属于双字节字符集(DBCS)。现在的PC平台必须支持GB18030,对嵌入式产品暂 不作要求。所以手机、MP3—般只支持GB2312。
在Windows下进行UTF-8和GB2312相互转化可以使用两个Sindows函数 (WideCharToMultiByte和MultiByteToWideChar);在Linux下也可以直接调 用iconv库,实现UTF-8和GB2312相互转化也非常方便。相关的现有技术可参 阅2005年2月9日公开的名称为"繁体中文字/简体中文字翻译方法"的中国 发明专利申请第200410034357. 8号,以及2009年4月8日公开的名称为"一 种Unicode编码到GB2312编码转换方法"的中国发明专利申请第 200810202969. 1号等。
但是在存储空间有限和没有操作系统比如Windows或Linux的嵌入式移动终端中,也没有其它API可用的情况下,实现UTF-8和GB2312相互转化是比较
困难的,导致嵌入式移动终端在一些应用场景中无法识别UTF-8或GB2312编码
字符,从而不能正常工作。
发明内容
本发明主要解决的技术问题是提供一种嵌入式终端及其UTF-8、 GB2312编 码转换方法,在没有搮:作系统windows或linux的环境下,也没有其它API可 用的情况下,能够解决嵌入式移动终端中应用程序在一些情况下无法进行字符 处理问题。
为解决上述技术问题,本发明釆用的一个技术方案是提供一种基于嵌入 式移动终端的GB2312编码转换为UTF-8编码的方法,包括接收来自应用程序 的将GB2312编码转换为UTF-8编码的请求;根据所述请求读取所述嵌入式移动 终端中的GB2312编码字符;将所述读取的GB2312编码字符转换为Unicode编 码(统一码、万国码、单一码、标准万国码)字符;将所述转换来Unicode编码 字符直接转换为UTF-8编码字符;返回所述转换得到UTF-8编码字符的结果给 所述应用程序。
其中,所述读取嵌入式移动终端中的GB2312编码字符的步骤包括从嵌入 式移动终端中读取一个字节的GB2312编码字符;所述将GB2312编码字符转换 为Unicode编码字符的步骤包括将所述读取出来的GB2312编码字符与0x80 比较;若读取出来的GB2312编码字符小于0x80,则将读取出来的GB2312编码 字符作为所述Unicode编码字符的高字节,将0x00作为所述Unicode编码字符 的低字节;若读取出来的GB2312编码字符等于0x80,则将OxAC作为所述Unicode 编码字符的高字节,将0x20作为所述Unicode编码字符的低字节;若读取出来 的GB2312编码字符大于0x80,则再进行从嵌入式移动终端中读取一个字节的GB2312编码字符的步骤,然后对所述分别读取的两字节GB2312编码字符进行内 容交换,再查所述GB2312编码与Unicode编码对照表,对查得的Unicode编码 值进行两字节内容交换,得到所述转换得到的Unicode编码字符;在得到所述 Unicode编码字符后,重新开始读:f又所述嵌入式移动终端中的GB2312编码字符
的步骤直至读取结束。
其中,所述查GB2312编码与Unicode编码对照表的步骤包括通过二分法 查GB2312编码与Unicode编码对照表。
其中,将所述转换来Unicode编码字符直接转换为UTF-8编码字符的步骤 包括读取所述转换得到的两字节Unicode编码字符;将所述读取得到的两字 节Unicode编码字符中低字节与0x00比较;若读取出来的低字节字符等于0x00, 则将所述两字节Unicode编码字符中高字节作为UTF-8编码字符;若读取出来 的低字节字符大于0x00,则判断为所述UTF-8编码字符有三个字节,其中UTF-8 编码字符最低字节为0xE0 I ((Unicode编码字符的低字节& 0xF0) >〉 4), UTF-8编码字符第二字节为0x80 1 ((Unicode编码字符的低字节& 0x0F)《2) + ((1111^0(16编码字符的高字节&(^(:0)》6), UTF-8编码字符第三字节为0x80 I (Unicode编码字符的高字节& 0x3F);在得到所述转换得到的UTF-8编码字符 后,重新开始读取所述两字节Unicode编码字符的步骤直至读取结束。
为解决上述技术问题,本发明采用的另一个技术方案是提供一种基于嵌 入式移动终端的UTF-8编码转换为GB2312编码的方法,包括接收来自应用程 序的将UTF-8编码转换为GB2312编码的请求;根据所述请求读取所述嵌入式移 动终端中的UTF-8编码字符;将所述读取的UTF-8编码字符直接转换为Unicode 编码的字符;将所述转换来的Unicode编码字符转换为GB2312编码字符;返回 所述转换得到GB2312编码字符的结果给所述应用程序。其中,所述读取嵌入式移动终端中的UTF-8编码字符的步骤包括/人嵌入 式移动终端中读取一个字节的UTF-8编码字符;所述将UTF-8编码字符直接转 换为Unicode编码字符的步骤包括将所述读取出来的UTF-8编码字符与OxEO 比较;若读取出来的UTF-8编码字符小于OxEO,则将读取出来的UTF-8编码字 符作为所述Unicode编码字符的高字节,将0x00作为所述Unicode编码字符的 低字节;若读取出来的UTF-8编码字符大于0xE0,则判断为所述Unicode编码 字符有三个字节,再进行从嵌入式移动终端中读取两个字节的UTF-8编码字符 的步骤,其中,转换得到的Unicode编码字符中低字节为(UTF-8编码字符第 一个字节&0x0F)《4) + ((UTF-8编码字符第二个字节〉〉2) & OxOF, Unicode 编码字符中高字节为(UTF-8编码字符第二个字节& 0x03)《6) + (UTF-8编 码字符第三个字节& 0x3F);在得到所述转换得到的Unicode编码字符后,重新 开始读取所述嵌入式移动终端中的UTF-8编码字符的步骤直至读取结束。
其中,将所述转换来的Unicode编码字符直接转换为GB2312编码字符的步 骤包括读取所述转换得到的两字节Unicode编码字符;设所述两字节Unicode 编码字符为A, A中低字节* 256与A中高字节的和为B,将B与0x80作比较; 若B小于0x80,则判断为所述GB2312编码字符是单字节字符,将A中高字节作 为所述GB2312编码字符;若B大于0x80且等于0x20AC,则判断为所述GB2312 编码字符是单字节字符,将0x80作为所述GB2312编码字符;若B大于0x80且 不等于0x20AC,则判断为所述GB2312编码字符是双字节字符,先对所述Unicode 编码字符进行高低字节内容交换,再查GB2312编码与Unicode编码对照表,对 查得的GB2312编码字符进行两字节内容交换,得到所述转换得到的GB2312编 码字符。
为解决上述技术问题,本发明采用的又一个技术方案是提供一种嵌入式用程序的将GB2312编码转换 为UTF-8编码的请求;字符读取单元,用于根据所述请求读取所述嵌入式移动 终端中的GB2312编码字符;第一转换单元,用于将所述读取的GB2312编码字 符转换为Unicode编码字符;第二转换单元,用于将所述转换来Unicode编码 字符直接转换为UTF-8编码字符;结果返回单元,用于返回所述转换得到UTF-8 编码字符的结果给所述应用程序。
为解决上述技术问题,本发明采用的又一个技术方案是提供一种嵌入式 移动终端,包括请求接收单元,用于接收来自应用程序的将UTF-8编码转换 为GB2312编码的请求;字符读取单元,用于根据所述请求读取所述嵌入式移动 终端中的UTF-8编码字符;第三转换单元,用于将所述读取的UTF-8编码字符 直接转换为Unicode编码的字符;第四转换单元,用于将所述转换来的Unicode 编码字符转换为GB2312编码字符;结果返回单元,用于返回所述转换得到GB2312 编码字符的结果给所述应用程序。
本发明的有益效果是区别于现有技术嵌入式移动终端在存储空间有限、
没有操作系统和其它API可用的情况下难以实现UTF-8和GB2312相互转化的情
况,本发明在没有梯:作系统windows或linux的环境下,也没有其它API可用
的情况下,简单巧妙地在嵌入式移动终端中利用Unicode编码作为桥梁,利用
Unicode编码能够比较轻易地与UTF-8或GB2312编码进行转换的特点,进行
UTF-8和GB2312编码之间的互换,能够解决嵌入式移动终端中应用程序在一些
情况下无法进行字符处理问题,特别是能够解决嵌入式移动终端与后台服务器
之间通讯的字符处理问题。
图1是本发明基于嵌入式移动终端的GB2312编码转换为UTF-8编码的方法实施例一的流程图2是本发明基于嵌入式移动终端的GB2312编码转换为UTF-8编码的方法 实施例二的流程图3是本发明基于嵌入式移动终端的UTF-8编码转换为GB2312编码的方法 实施例一的流程图4是本发明基于嵌入式移动终端的UTF-8编码转换为GB2312编码的方法 实施例二的流程图5是本发明嵌入式移动终端实施例一的原理框图6是本发明嵌入式移动终端实施例二的原理框图。
具体实施例方式
参阅图1,本发明基于嵌入式移动终端的GB2312编码转换为UTF-8编码的 方法实施例 一主要包4舌
步骤101:接收来自应用程序的将GB2312编码转换为UTF-8编码的请求, 比如接收移动终端与后台服务器之间通讯程序的请求;
步骤102:根据所述请求读取所述嵌入式移动终端中的GB2312编码字符; 步骤103:将所述读取的GB2312编码字符转换为Unicode编码字符; 步骤104:将所述转换来Unicode编码字符直接转换为UTF-8编码字符; 步骤105:返回所述转换得到UTF-8编码字符的结果给所述应用程序。 区别于现有技术嵌入式移动终端在存储空间有限、没有操作系统和其它API 可用的情况下难以实现UTF-8和GB2312相互转化的情况,本发明在没有操作系 统windows或linux的环境下,也没有其它API可用的情况下,简单巧妙地在 嵌入式移动终端中利用Unicode编码作为桥梁,利用Unicode编码能够比较轻 易地与UTF-8或GB2312编码进行转换的特点,在不占用太多资源的情况下能够解决嵌入式移动终端中应用程序在一些情况下无法进行字符处理问题,特别是 能够解决嵌入式移动终端与后台服务器之间通讯的字符处理问题。
一起参阅图2,在另一实施例中,所述读取嵌入式移动终端中的GB2312编
码字符的步骤包括
A、 从嵌入式移动终端中读取一个字节的GB2312编码字符;
B、 所述将GB2312编码字符转换为Unicode编码字符的步骤包括
C、 将所述读取出来的GB2312编码字符与0x80比较;
0x80是一个转折点,小于的话就是单字节字符,比如英文字母等,大于的 话就是中文字了,等于的话就是一个特殊字符,因此
若读取出来的GB2312编码字符小于0x80,则将读取出来的GB2312编码字 符作为所述Unicode编码字符的高字节,将0x00作为所述Unicode编码字符的 低字节;倒如GB2312编码的"0x43",则它的Unicode编码为"0x4300"。
若读取出来的GB2312编码字符等于0x80,则将0xAC作为所述Unicode编 码字符的高字节,将0x20作为所述Unicode编码字符的#1字节;倒如GB2312 编码的"0x80",则它的Unicode编码为"0xAC20"。
若读取出来的GB2312编码字符大于0x80,则再进行从嵌入式移动终端中读 取一个字节的GB2312编码字符的步骤,然后对所述分别读取的两字节GB2312 编码字符进行内容交换,再查所述GB2312编码与Unicode编码对照表,对查得 的Unicode编码值进行两字节内容交换,得到所述转换得到的Unicode编码字*亇.
付;
D、 在得到所述Unicode编码字符后,重新开始读取所述嵌入式移动终端中 的GB2312编码字符的步骤直至读取结束。
其中,所述GB2312编码与Unicode编码对照表可以预先下载,码表将GB23124要力顷序i文在前面,Unicode》文在后面。
所述查GB2312编码与Unicode编码对照表的步骤可以是通过二分法查 GB2312编码与Unicode编码对照表。
当然,步骤A中从嵌入式移动终端中读取一个字节的GB2312编码字符的步 骤,可以替换为一次读取两个字符,如果最终Unicode编码字符为一字节,那 么另外一个字符作为下一循环转换之用,如果最终Unicode编码字符为两字节, 则不需要两次读取字符的动作,节省时间提高效率。当然,也可以一次读取多 个字符,下面的实施例同理。
一起参阅图2,在另一实施例中,将所述转换来Unicode编码字符直接转换 为UTF-8编码字符的步骤包括
A、 读取所述转换得到的两字节Unicode编码字符;
B、 将所述读取得到的两字节Unicode编码字符中低字节与0x00比较; 若读取出来的低字节字符等于0x00,则将所述两字节Unicode编码字符中
高字节作为UTF-8编码字符;
若读取出来的低字节字符大于0x00,则判断为所述UTF-8编码字符有三个 字节,其中UTF-8编码字符最低字节为OxEO | ((Unicode编码字符的低字节& 0xF0)》4), UTF-8编码字符第二字节为0x80 I ((Unicode编码字符的低字 节& 0x0F) << 2) +((Unicode编码字符的高字节& 0xC0) >> 6), UTF-8编码字 符第三字节为0x80 I (Unicode编码字符的高字节&0x3F);
C、 在得到所述转换得到的UTF-8编码字符后,重新开始读取所述两字节 Unicode编码字符的步骤直至读取结束。
上述实施例是描述GB2312编码转换为UTF-8编码的方法,以下描述UTF-8 编码转换为GB2312编码的方法实施例。参阅图3,比如,本发明提供的一种基于嵌入式移动终端的UTF-8编码转换
为GB2312编码的方法实施例包括
步骤301:接收来自应用程序的将UTF-8编码转换为GB2312编码的请求; 步骤302:根据所述请求读取所述嵌入式移动终端中的UTF-8编码字符; 步骤303:将所述读取的UTF-8编码字符直接转换为Unicode编码的字符; 步骤304:将所述转换来的Unicode编码字符转换为GB2312编码字符; 步骤305:返回所述转换得到GB2312编码字符的结果给所述应用程序。 上述实施例是在本发明同一构思下,将UTF-8编码转换为GB2312编码的实
施例,其中利用了将GB2312编码转换为UTF-8编码的某些相同或相应的技术,
两者一起使用即可以进行任意互换,同样解决嵌入式移动终端进行GB2312编码
与UTF-8编码转换的问题。
一起参阅图4,而且,在其他实施例中,所述读取嵌入式移动终端中的UTF-8
编码字符的步骤包括
从嵌入式移动终端中读取一个字节的UTF-8编码字符;
所述将UTF-8编码字符直^l妄转换为Unicode编码字符的步骤包括
A、将所述读取出来的UTF-8编码字符与0xE0比较;
若读取出来的UTF-8编码字符小于OxEO,则将读取出来的UTF-8编码字符 作为所述Unicode编码字符的高字节,将0x00作为所述Unicode编码字符的低 字节;倒如UTF-8编码的"0x43",则它的Unicode编码为"0x4300"。
若读取出来的UTF-8编码字符大于0xE0,则判断为所述Unicode编码字符 有三个字节,再进行从嵌入式移动终端中读取两个字节的UTF-8编码字符的步 骤,其中,转换得到的Unicode编码字符中低字节为(UTF-8编码字符第一个 字节& 0x0F)《4) + ((UTF-8编码字符第二个字节〉〉2) & 0x0F, Unicode编码字符中高字节为(『?-8编码字符第二个字节& 0x03)《6) + (UTF-8编码 字符第三个字节& 0x3F);
B、在得到所述转换得到的Unicode编码字符后,重新开始读耳又所述嵌入式 移动终端中的UTF-8编码字符的步骤直至读取结束。
一起参阅图4,另一方面,将所述转换来的Unicode编码字符直接转换为 GB2312编码字符的步骤包括
A、 读取所述转换得到的两字节Unicode编码字符;
B、 ^没所述两字节Unicode编码字符为A, A中〗氐字节* 256与A中高字节 的和为B,将B与0x80作比较;
若B小于0x80,则判断为所述GB2312编码字符是单字节字符,将A中高字 节作为所述GB2312编码字符;
若B大于0x80且等于0x20AC,则判断为所述GB2312编码字符是单字节字 符,将0x80作为所述GB2312编码字符;
若B大于0x80且不等于0x20AC,则判断为所述GB2312编码字符是双字节 字符,先对所述Unicode编码字符进行高低字节内容交换,再查GB2312编码与 Unicode编码对照表,对查得的GB2312编码字符进行两字节内容交换,得到所 述转换得到的GB2312编码字符。
当然,也可以采用其他现有方式进行单个环节比如GB2312编码与unicode 编码之间、UTF-8编码与Unicode编码之间的编码转换,比如采用背景技术中提 到的发明专利申请第200810202969号提供的一种Unicode编码到GB2M2编码 转换方法,但存在差别1、该200810202969方法是通过计算偏移量差值再进 行查表,而本发明实施例是直接进行查表;2、 200810202969与本发明两者编码 转换表不一样;3、该200810202969转换方法只能实现单向性,无法互换,但本发明实施例则可以实现双向编码转换。
参阅图5,才艮据本发明,还提供嵌入式移动终端实施例一,包括 请求接收单元,用于接收来自应用程序的将GB2312编码转换为UTF-8编码 的请求;
字符读取单元,用于根据所述请求读取所述嵌入式移动终端中的GB2312编 码字符;
第一转换单元,用于将所述读取的GB2312编码字符转换为Unicode编码字錄.
付,
第二转换单元,用于将所述转换来unicode编码字符直接转换为UTF-8编 码字符;
结果返回单元,用于返回所述转换得到UTF-8编码字符的结果给所述应用 程序。
上述嵌入式移动终端实施例一可以实现在无才喿作系统和其他API情况下将
GB2312编码转换为UTF-8编码的功能。
参阅图6,根据本发明,还提供嵌入式移动终端实施例二,包括 请求接收单元,用于接收来自应用程序的将UTF-8编码转换为GB2312编码
的请求;
字符读取单元,用于才艮据所述请求读取所述嵌入式移动终端中的UTF-8编 码字符;
第三转换单元,用于将所述读取的UTF-8编码字符直接转换为Unicode编 码的字符;
第四转换单元,用于将所述转换来的unicode编码字符转换为GB2312编码
字符;结果返回单元,用于返回所述转换得到GB2312编码字符的结果给所述应用 程序。
以上,返回编码字符的结果给所述应用程序的含义,可以是直接返回转换 后的最终编码字符给应用程序,也可以返回一个通知或消息,告诉应用程序编 码转换已经完成。
上述嵌入式移动终端实施例二可以实现在无操作系统和其他API情况下将 UTF-8编码转换为编码GB2312的功能。
当然,可以将上述嵌入式移动终端实施例一和嵌入式移动终端实施例二合 二为一,实现任意双向转换功能。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利 用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运 用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1、一种基于嵌入式移动终端的GB2312编码转换为UTF-8编码的方法,其特征在于,包括接收来自应用程序的将GB2312编码转换为UTF-8编码的请求;根据所述请求读取所述嵌入式移动终端中的GB2312编码字符;将所述读取的GB2312编码字符转换为unicode编码字符;将所述转换来unicode编码字符直接转换为UTF-8编码字符;返回所述转换得到UTF-8编码字符的结果给所述应用程序。
2、 根据权利要求l所述的方法,其特征在于,所述读取嵌入式移动终端中的GB2312编码字符的步骤包括从嵌入式移动终端中读取一个字节的GB2312编码字符;所述将GB2312编码字符转换为Unicode编码字符的步骤包括将所述读取出来的GB2312编码字符与0x80比较;若读取出来的GB2312编码字符小于0x80,则将读取出来的GB2312编码字符作为所述Unicode编码字符的高字节,将0x00作为所述Unicode编码字符的低字节;若读取出来的GB2312编码字符等于0x80,则将0xAC作为所述Unicode编码字符的高字节,将0x20作为所述Unicode编码字符的低字节;若读取出来的GB2312编码字符大于0x80,则再进行从嵌入式移动终端中读取一个字节的GB2312编码字符的步骤,然后对所述分别读取的两字节GB2312编码字符进行内容交换,再查所述GB2312编码与Unicode编码对照表,对查得的Unicode编码值进行两字节内容交换,得到所述转换得到的Unicode编码字符;在得到所述Unicode编码字符后,重新开始读取所述嵌入式移动终端中的GB2312编码字符的步骤直至读取结束。
3、 根据斥又利要求2所述的方法,其特征在于,所述查GB2312编码与Unicode 编码对照表的步骤包括通过二分法查GB2312编码与Unicode编码对照表。
4、 根据权利要求1至3任一项所述的方法,其特征在于,将所述转换来 Unicode编码字符直接转换为UTF-8编码字符的步骤包括读取所述转换得到的两字节Unicode编码字符; 将所述读取得到的两字节Unicode编码字符中低字节与0x00比较; 若读取出来的^f氐字节字符等于0x00,则将所述两字节Unicode编码字符中 高字节作为UTF-8编码字符;若读取出来的^f氐字节字符大于0x00,则判断为所述UTF-8编码字符有三个 字节,其中UTF-8编码字符最低字节为0xE0 | ((Unicode编码字符的低字节& OxFO) 〉> 4), UTF-8编码字符第二字节为:0x80 I ((Unicode编码字符的低字 节& 0x0F)《2) + ((Unicode编码字符的高字节& 0xC0) >> 6), UTF-8编码字 符第三字节为0x80 I (Unicode编码字符的高字节& 0x3F);在得到所述转换得到的UTF-8编码字符后,重新开始读取所述两字节 Unicode编码字符的步骤直至读取结束。
5、 一种基于嵌入式移动终端的UTF-8编码转换为GB2312编码的方法,其 特征在于,包括接收来自应用程序的将UTF-8编码转换为GB2312编码的请求; 根据所述请求读取所述嵌入式移动终端中的UTF-8编码字符; 将所述读取的UTF-8编码字符直接转换为Unicode编码的字符; 将所述转换来的Unicode编码字符转换为GB2312编码字符;返回所述转换得到GB2312编码字符的结果给所述应用程序。
6、 根据权利要求5所述的方法,其特征在于, 所述读取嵌入式移动终端中的UTF-8编码字符的步骤包括 从嵌入式移动终端中读取一个字节的UTF-8编码字符;所述将UTF-8编码字符直接转换为Unicode编码字符的步骤包括 将所述读取出来的UTF-8编码字符与0xE0比较;若读取出来的UTF-8编码字符小于OxEO,则将读取出来的UTF-8编码字符 作为所述Unicode编码字符的高字节,将0x00作为所述Unicode编码字符的低 字节;若读取出来的UTF-8编码字符大于0xE0,则判断为所述Unicode编码字符 有三个字节,再进行从嵌入式移动终端中读取两个字节的UTF-8编码字符的步 骤,其中,转换得到的Unicode编码字符中低字节为(UTF-8编码字符第一个 字节& 0x0F)《4) + ((UTF-8编码字符第二个字节》2) & OxOF, Unicode编 码字符中高字节为(UTF-8编码字符第二个字节& 0x03)《6) + (UTF-8编码 字符第三个字节& 0x3F);在得到所述转换得到的Unicode编码字符后,重新开始读取所述嵌入式移 动终端中的UTF-8编码字符的步骤直至读取结束。
7、 根据权利要求5所述的方法,其特征在于,将所述转换来的Unicode编 码字符直接转换为GB2312编码字符的步骤包括读取所述转换得到的两字节Unicode编码字符;设所述两字节Unicode编码字符为A, A中^^字节* 256与A中高字节的 和为B,将B与0x80作比较;若B小于0x80,则判断为所述GB2312编码字符是单字节字符,将A中高字节作为所述GB2312编码字符;若B大于0x80且等于0x20AC,则判断为所述GB2312编码字符是单字节字 符,将0x80作为所述GB2312编码字符;若B大于0x80且不等于0x20AC,则判断为所述GB2312编码字符是双字节 字符,先对所述Unicode编码字符进行高低字节内容交换,再查GB2312编码与 Unicode编码对照表,对查得的GB2312编码字符进行两字节内容交换,得到所 述转换得到的GB2312编码字符。
8、 一种嵌入式移动终端,其特征在于,包括请求接收单元,用于接收来自应用程序的将GB2312编码转换为UTF-8编码 的请求;字符读取单元,用于根据所述请求读取所述嵌入式移动终端中的GB2312编 码字符;第一转换单元,用于将所述读取的GB2312编码字符转换为Unicode编码字对付;第二转换单元,用于将所述转换来unicode编码字符直接转换为UTF-8编 码字符;结果返回单元,用于返回所述转换得到UTF-8编码字符的结果给所述应用 程序。
9、 一种嵌入式移动终端,其特征在于,包括请求接收单元,用于接收来自应用程序的将UTF-8编码转换为GB2312编码的请求;字符读取单元,用于才艮据所述请求读取所述嵌入式移动终端中的UTF-8编 码字符;第三转换单元,用于将所述读取的UTF-8编码字符直接转换为Unicode编 码的字符;第四转换单元,用于将所述转换来的Unicode编码字符转换为GBUl2编码 字符;结果返回单元,用于返回所述转换得到GB2312编码字符的结果给所述应用 程序。
全文摘要
本发明公开了一种嵌入式终端及其UTF-8、GB2312编码转换方法,所述基于嵌入式移动终端的GB2312编码转换为UTF-8编码的方法,包括接收来自应用程序的将GB2312编码转换为UTF-8编码的请求;根据所述请求读取所述嵌入式移动终端中的GB2312编码字符;将所述读取的GB2312编码字符转换为unicode编码字符;将所述转换来unicode编码字符直接转换为UTF-8编码字符;返回所述转换得到UTF-8编码字符的结果给所述应用程序。本发明在没有操作系统windows或linux的环境下,也没有其它API可用的情况下,能够解决嵌入式移动终端与后台服务器之间通讯的字符处理问题。
文档编号G06F17/22GK101655836SQ20091019210
公开日2010年2月24日 申请日期2009年9月3日 优先权日2009年9月3日
发明者曾宗云, 林忠侣 申请人:厦门敏讯信息技术股份有限公司