CN104182286A - 一种跨平台汉字乱码恢复方法 - Google Patents
一种跨平台汉字乱码恢复方法 Download PDFInfo
- Publication number
- CN104182286A CN104182286A CN201410285563.XA CN201410285563A CN104182286A CN 104182286 A CN104182286 A CN 104182286A CN 201410285563 A CN201410285563 A CN 201410285563A CN 104182286 A CN104182286 A CN 104182286A
- Authority
- CN
- China
- Prior art keywords
- chinese character
- platform
- character
- cross
- chinese
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种跨平台汉字乱码恢复方法,其特征是:获取发送平台和接收平台的编码格式;识别出发送平台的汉字字符和非汉字字符,非汉字字符将汉字字符集分割成若干个汉字字符串;按先后顺序对每一个汉字字符串进行归偶处理;所述归偶处理是将待转换汉字调整为偶数个字符。本发明的优点是:根据发送平台和接收平台的编码类型,进行适应性归偶处理并在转码后剔除多余字节,从而解决了乱码问题,极大提高了用户体验。
Description
技术领域
本发明涉及一种跨平台汉字乱码恢复方法,尤其是两个不同编码方式之间的数据传输过程中的汉字乱码恢复方法。
背景技术
乱码(比如网页乱码、软件乱码等)是经常困扰计算机用户的一个问题。
比如dotnet平台和Java平台之间的数据传输过程中,由于两个平台的编码方式不同,通过http放将汉字从.net发送到java平台,得到传送过来的参数值,就会发现奇数个汉字最后一个汉字乱码,而偶数个汉字正常。 如:String gbk = “我来了”;(发送之后)String gbk = “我来??”;如:String gbk = “我来了123我来了”;(发送之后)String gbk = “我来??123我来??”; gbk编码是一个中文2个字节,而UTF-8编码是一个中文3个字节。浏览器进行utf-8编码,并传送到tomcat服务器,而tomcat以gbk方式解码,如果一对汉字字节不符合gbk编码规范,则每个字节使用“?”(ascii 63)代替。最后将接收到的数据转为utf-8编码。
例如:“我来了”按utf-8编码以一个字3个字节可以转为“230 136 145 230 157 165 228 186 134”这9个字节。
tomcat以gbk方式以两个字节一个汉字可以生成4个汉字“鎴戞潵浜?”,此时还多一个字节则以“?”代替。
最后将tomcat服务器生成的汉字以gbk编码以一个字2个字节可以转为“230 136 145 230 157 165 228 186 63”这9字节(“?”转为“63”),可以看出最后一个字节已经发生了变化(134变成了63),以这9个字节(以3个字节一个汉字的原则)构建字符串只能得到两个汉字“我来??”(最后3个字节不能转为汉字以“??”代替)。
发明内容
本发明要解决的技术问题,在于提供解决跨平台汉字乱码的恢复方法,极大提高了用户体验。
本发明公开了一种跨平台汉字乱码恢复方法,其特征是:
获取发送平台和接收平台的编码格式;
识别出发送平台的汉字字符和非汉字字符,形成若干个汉字字符串;
按先后顺序对若干个汉字字符串进行归偶处理;
进行编码转换,并传输到接收平台;
在接收平台中,将字符串还原;
在接收平台中,按先后顺序对汉字字符串进行字节还原处理;
所述归偶处理是将待转换汉字调整为偶数个字符。
进一步,所述汉字字符串是被非汉字字符分割成的若干个字符串。
进一步,所述归偶处理是统计汉字字符串的字符数并判断是否是奇数,若是奇数,则从特殊字符库中调取一个特殊字符插入到汉字字符集末端位置,若是偶数,则不处理。
进一步,所述特殊字符库为编码表中不存在的汉字字符的集合。
进一步,所述字节还原处理是在接收平台中将特殊字符从汉字末端所在位置删除。
本发明的优点是:根据发送平台和接收平台的编码类型,进行适应性归偶处理并在转码后剔除多余字节,从而解决了乱码问题,极大提高了用户体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,下面参照附图结合实施例对本发明作进一步的说明:图1是跨平台汉字乱码恢复方法的流程框图。
具体实施方式
实施例1:请参阅图1所示,本发明公开了一种跨平台汉字乱码恢复方法,其特征是:获取发送平台和接收平台的编码格式;
识别出发送平台的汉字字符和非汉字字符,非汉字字符将汉字字符集分割成若干个汉字字符串;
按先后顺序对每一个汉字字符串进行归偶处理;
归偶处理的流程是:统计一个汉字字符串的字符数,并判断是奇数还是偶数,如果是奇数就从特殊字符库中任意挑选一个特殊字符插入到该汉字字符串的末端,处理完毕,跳到下一个字符串;如果是偶数,直接跳到下一个字符串;直到所有汉字字符串归偶处理结束;
进行编码转换,并传输到接收平台;
在接收平台中,将字符串还原;
在接收平台中,按先后顺序对汉字字符串进行字节还原处理即将特殊字符从汉字末端所在位置删除;
所述归偶处理是将待转换汉字调整为偶数个字符。
进一步,所述特殊字符为编码表中不存在的汉字字符。
实施例2:从dotnet平台到Java平台的数据传输,dotnet平台是GBK编码,一个中文2个字节,Java平台是UTF-8编码,是一个中文3个字节;在dotNet 中,首先判断字符中哪些字符为汉字和非汉字,非汉字将汉字分割成若干个汉子字符串,统计一个汉子字符串的字符数并判断是否是奇数,若是奇数则在该汉字字符串后面一个插入特殊(很不常见)汉字字符,如(龘),这样字符串中就不会存在奇数。
在dotNet中,把字符串转换成base-64编码,然后传输到java , 在java中,将base-64字符串还原,然后,将特殊汉字字符去掉,就得到了没有乱码的字符串。
以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (5)
1.一种跨平台汉字乱码恢复方法,其特征是:
获取发送平台和接收平台的编码格式;
识别出发送平台的汉字字符和非汉字字符,形成若干个汉字字符串;
按先后顺序对若干个汉字字符串进行归偶处理;
进行编码转换,并传输到接收平台;
在接收平台中,将字符串还原;
在接收平台中,按顺序对汉字字符串进行字节还原处理;
所述归偶处理是将待转换汉字调整为偶数个字符。
2.根据权利要求1所述的跨平台汉字乱码恢复方法,其特征是:所述汉字字符串是被非汉字字符分割成的若干个字符串。
3.根据权利要求1所述的跨平台汉字乱码恢复方法,其特征是:所述归偶处理是对于字符数为奇数的汉字字符串,则从特殊字符库中调取一个特殊字符插入到每个汉字字符串末端位置。
4.根据权利要求3所述的跨平台乱码恢复方法,其特征是:所述特殊字符库为编码表中不存在的汉字字符的集合。
5.根据权利要求1所述的跨平台汉字乱码恢复方法,其特征是:所述字节还原处理是在接收平台中将特殊字符从汉字字符串末端位置删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410285563.XA CN104182286A (zh) | 2014-06-24 | 2014-06-24 | 一种跨平台汉字乱码恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410285563.XA CN104182286A (zh) | 2014-06-24 | 2014-06-24 | 一种跨平台汉字乱码恢复方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104182286A true CN104182286A (zh) | 2014-12-03 |
Family
ID=51963360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410285563.XA Pending CN104182286A (zh) | 2014-06-24 | 2014-06-24 | 一种跨平台汉字乱码恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104182286A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407438A (zh) * | 2016-09-28 | 2017-02-15 | 珠海迈越信息技术有限公司 | 一种数据处理方法及系统 |
CN108108267A (zh) * | 2016-11-25 | 2018-06-01 | 北京国双科技有限公司 | 数据的恢复方法和装置 |
CN111680474A (zh) * | 2020-06-08 | 2020-09-18 | 中国银行股份有限公司 | 文件乱码修复方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060061491A1 (en) * | 2005-11-03 | 2006-03-23 | Bin Qin | A method to sequentially encode PINYIN of Chinese character with few symbols |
CN101526963A (zh) * | 2009-04-17 | 2009-09-09 | 深圳华为通信技术有限公司 | 网页编码识别方法、装置和终端设备 |
CN101551792A (zh) * | 2008-04-03 | 2009-10-07 | 鸿富锦精密工业(深圳)有限公司 | 乱码恢复系统及方法 |
-
2014
- 2014-06-24 CN CN201410285563.XA patent/CN104182286A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060061491A1 (en) * | 2005-11-03 | 2006-03-23 | Bin Qin | A method to sequentially encode PINYIN of Chinese character with few symbols |
CN101551792A (zh) * | 2008-04-03 | 2009-10-07 | 鸿富锦精密工业(深圳)有限公司 | 乱码恢复系统及方法 |
CN101526963A (zh) * | 2009-04-17 | 2009-09-09 | 深圳华为通信技术有限公司 | 网页编码识别方法、装置和终端设备 |
Non-Patent Citations (1)
Title |
---|
MYEXCEPTION.CN: "了解并解决GBK转UTF-8奇数中文乱码", 《HTTP://WWW.MYEXCEPTION.CN/PROGRAM/1026793.HTML》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407438A (zh) * | 2016-09-28 | 2017-02-15 | 珠海迈越信息技术有限公司 | 一种数据处理方法及系统 |
CN108108267A (zh) * | 2016-11-25 | 2018-06-01 | 北京国双科技有限公司 | 数据的恢复方法和装置 |
CN108108267B (zh) * | 2016-11-25 | 2021-06-22 | 北京国双科技有限公司 | 数据的恢复方法和装置 |
CN111680474A (zh) * | 2020-06-08 | 2020-09-18 | 中国银行股份有限公司 | 文件乱码修复方法及装置 |
CN111680474B (zh) * | 2020-06-08 | 2024-02-23 | 中国银行股份有限公司 | 文件乱码修复方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101655836B (zh) | 转换utf-8编码、gb2312编码的嵌入式终端及其utf-8、gb2312编码转换方法 | |
CN103179133B (zh) | 基于实体类的客户端与服务器通信的方法 | |
CN110708307B (zh) | 转码器生成方法和装置、电子设备及存储介质 | |
CN101610268A (zh) | 一种关键字过滤的实现方法和设备 | |
CN103346800B (zh) | 一种数据压缩方法及装置 | |
CN104750663B (zh) | 页面中文本乱码的识别方法及装置 | |
CN110545106B (zh) | 时序数据的编码方法及装置 | |
CN104182286A (zh) | 一种跨平台汉字乱码恢复方法 | |
CN104994128A (zh) | 一种数据编码类型识别及转码方法和装置 | |
CN105282124A (zh) | 基于xmpp协议的渐进式图片的传输方法及呈现方法 | |
CN106851733A (zh) | 一种针对移动网络应用的自适应http消息压缩方法 | |
CN113343066A (zh) | 页面处理方法、装置、电子设备和存储介质 | |
CN103186644A (zh) | 一种下载字库文件的方法、设备及系统 | |
CN103036641A (zh) | 数据交换方法、系统及反序列化方法 | |
CN104065460B (zh) | 基于二叉树的编码方法和编码装置 | |
CN108243015B (zh) | 一种话单信息提取方法、话单服务器及网管服务器 | |
CN104320146A (zh) | 在序列间置换涡轮码系统中利用可变长度输入 | |
CN104360988A (zh) | 中文字符的编码方式的识别方法和装置 | |
CN108462553B (zh) | 一种数据传输方法、装置及电子设备 | |
CN113986820A (zh) | 一种lz4格式文件转换为gzip格式文件的方法 | |
CN109033189B (zh) | 链路结构日志的压缩方法、装置、服务器及可读存储介质 | |
CN110298017B (zh) | 一种编码数据处理方法、装置及计算机存储介质 | |
EP2113845A1 (en) | Character conversion method and apparatus | |
CN102801430B (zh) | Url中文参数压缩算法 | |
CN106570044B (zh) | 一种解析网页编码的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141203 |
|
WD01 | Invention patent application deemed withdrawn after publication |