CN101840394A - 数据解码方法 - Google Patents
数据解码方法 Download PDFInfo
- Publication number
- CN101840394A CN101840394A CN 201010117860 CN201010117860A CN101840394A CN 101840394 A CN101840394 A CN 101840394A CN 201010117860 CN201010117860 CN 201010117860 CN 201010117860 A CN201010117860 A CN 201010117860A CN 101840394 A CN101840394 A CN 101840394A
- Authority
- CN
- China
- Prior art keywords
- character
- decimal value
- decoding
- value
- character string
- 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.)
- Granted
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种数据解码方法,包括以下步骤:建立字符对照表。接着,接收由协议数据单元模式所编码的数据讯息;对上述位数据讯息执行位译码,以获得至少一字符字符串;判断译码后的字符字符串的十进制值是否位于一数值范围。若字符字符串的十进制值位于数值范围内,以此十进制值作为索引值而查询字符对照表,藉以获得对应的标准字符码而转换为对应的字符。反之,若此字符字符串的十进制值未位于数值范围内,则以此十进制值作为标准字符码而转换为对应的字符。本发明建立一字符对照表,扩大了PDU模式的位译码范围,其不仅覆盖普通常用字符,而且覆盖了扩充字符。在译码时,可直接查看字符对照表以快速译码,大大扩充了简讯所能输入的字符。
Description
技术领域
本发明是有关于一种译码方法,且特别是有关于一种协议数据单元(Protocol Data Unit,PDU)模式的数据译码方法。
背景技术
随着科技的进步,行动电话的简讯(Short Message Service,SMS)功能已成为人们进行讯息交流的一个重要途径。由于简讯已经深深嵌入人们的日常生活中,因此简讯内容的丰富度越来越受到关注,更大的字符译码范围和更快的译码速度已经成为强而有力的市场竞争力,同时也更大限度的发挥移动装置的优势。
目前大部份行动电话所用来发送和接收简讯的模式PDU模式,其是用于传送中/英简讯,使用的编码方式分为7位、8位及UCS2(2-byteUniversal Character Set)编解码。7位编译码用于收发普通的美国信息交换标准码(American Standard Code for Information Interchange,ASCII),例如英文字符。8位编译码通常用于收发数据消息,例如图片和铃声等。UCS2编解码则用于收发万国码(Unicode)字符,例如汉字字符。
发明内容
本发明的目的在于:提供一种数据译码方法,不仅能够译码常用字符,对于扩充字符亦能够正确译码,以解决传统PDU模式对一些特殊字符会产生译码错误而导致乱码的问题,使用户能够获得正确、完整的信息。
本发明提出一种数据解码方法,包括以下步骤:首先,建立字符对照表,其中字符对照表包括多个索引值与各个索引值所对应的标准字符码的十进制值。接着,接收由PDU模式所编码的数据讯息,此数据讯息为字节数组,且此字节数组包括多个元素。之后,对上述字节数组执行位译码,以获得至少一字符字符串。然后,判断译码后的字符字符串的十进制值是否位于一数值范围。若字符字符串的十进制值位于数值范围内,以此十进制值作为索引值而查询字符对照表,藉以获得对应的标准字符码而转换为对应的字符。反之,若此字符字符串的十进制值未位于数值范围内,则以此十进制值作为标准字符码而转换为对应的字符。
在本发明之一实施例中,上述对字节数组执行位译码的步骤如下所述。首先,将字节数组的元素分别转换为十六进制,而形成第一字符数组。接着反转第一字符数组的元素,而形成第二字符数组。之后,将第二字符数组的元素分别转换为二进制,并串接这些元素的二进制值而形成为一长字符串。然后,以特定位为单位,将长字符串划分为至少一字符字符串。最后,计算字符字符串的十进制值。
在本发明之一实施例中,上述建立字符对照表的步骤包括:接收已编码的至少一字符,以对此字符执行位译码,而取得译码字符的十进制值;查询标准字符码对照表,取得译码字符的十进制值所对应的标准字符码的十进制值;之后,填入译码字符的十进制值至索引值字段,而填入标准字符码的十进制值至对应的标准字符码字段。
在本发明之一实施例中,上述标准字符码为ASCII码。另外,上述位译码为7位译码。此外,上述译码后字符的十进制值范围为大于等于0并且小于等于127。
基于上述,本发明建立一字符对照表,扩大了PDU模式的位译码范围,其不仅覆盖普通常用字符,而且覆盖了扩充字符。在译码时,可直接查看字符对照表以快速译码。据此,对于扩充字符亦能够正确译码而不会产生乱码,大大扩充了简讯所能输入的字符。
附图说明
图1是依照本发明一实例所绘示的数据讯息译码方法的流程图。
图2是依照本发明一实例所绘示的字符对照表的示意图。
图3是依照本发明一实施例所绘示的位译码的流程图。
图4是依照本发明一实施例所绘示的解码结果的示意图。
具体实施方式
传统PDU模式的简讯译码无法正确地对ASCII扩充字符进行译码。为此,本发明提出一种数据译码方法,不仅能够译码普通ASCII字符,对于ASCII扩充字符亦能够进行译码。为了使本发明之内容更为明了,以下特举实施例作为本发明确实能够据以实施的范例。
图1是依照本发明一实例所绘示的数据译码方法的流程图。请参照图1,首先,在步骤S105中,建立字符对照表。此字符对照表包括多个索引值与各个索引值所对应的标准字符码的十进制值。在本实施例中,标准字符码为ASCII码。具体而言,字符对照表的建立是依据PDU模式来计算各ASCII码的十进制所对应的索引值。
举例来说,图2是依照本发明一实例所绘示的字符对照表的示意图。以“@”字符为例,在接收到已编码的“@”字符时,对其执行位译码,以取得译码字符“@”的十进制值0。之后,查询ASCII码对照表可得知译码字符“@”的ASCII码十进制值应为64。据此,便可将译码字符“@”的十进制值0填入至字符对照表的索引值字段,而将对应的ASCII码十进制值64填入至对应的ASCII十进制值字段中。据此,索引值0所对应的ASCII码的十进制值则为64。以此类推,可取得其它索引值及对应的ASCII十进制值。
另外,在图2中,ASCII十进制值36、64有两个对应的字段,也就是说当索引值为2或36时,根据此字符对照表的两者所对应的ASCII十进制值都是36。同理,当索引值是0或64时,两者所对应的都是64。此外,当索引值在大于等于32且小于等于90,以及索引值大于等于97且小于等于122时,索引值和对应的ASCII十进制值是相等的。
接着返回图1,在步骤S110中,接收由PDU模式所编码的数据讯息(例如,简讯),而所接收数据讯息的格式为字节数组(byte array),其包括多个元素。举例来说,以7位编码而言,当数据讯息发送方发送的内容为“Δ_ΦГΛΩ∏Ψ∑ΘΞ”时,其有效长度为12。由于7位编码是一种压缩编码,12字节等于12×8个位。当采用7位编码后,获得84位((12×8)×(7/8)=84)的数据,而84位转换成字节时有效长度为11。因此,当数据讯息发送方发送的内容为“Δ_ΦГΛΩ∏Ψ∑ΘΞ”时,作为数据讯息接收方所收到的内容是一个有效长度为11的位数组rgbMsg,位数组中各元素rgbMsg[0]~rgbMsg[12]分别是:15、72、68、50、161、84、44、23、76、70、3以及NULL(空值)。
请参照图3,步骤S305,将字节数组的元素分别转换为十六进制,而形成第一字符数组。也就是说,上述数据讯息的内容是一个字符串(存储在如上所述的rgbMsg位数组中),将rgbMsg位数组的各元素转换成16进制的第一字符数组,其内容依序为0f,48,44,32,a1,54,2c,17,4c,46,03,00。
接着,在步骤S310中,反转(reverse)第一字符数组的元素,而形成第二字符数组。也就是将第一字符数组的元素由后往前重新排序,则第二字符数组的内容依序为00,03,46,4c,17,2c,54,a1,32,44,48,0f。
之后,在步骤S315中,将第二字符数组的元素分别转换为二进制,并串接这些元素的二进制值而形成为一长字符串。也就是说,00(16)转换为00000000(2),03(16)转换为00000011(2),46(16)转换为01000110(2),4c(16)转换为01001100(2),17(16)转换为00010111(2),2c(16)转换为00101100(2),54(16)转换为01010100(2),a1(16)转换为10100001(2),32(16)转换为00110010(2),44(16)转换为01000111(2),48(16)转换为01001000(2),0f(16)转换为00001111(2)。而转换之后的二进制值则形成了一长字符串,其长度为96位。
再来,如步骤S320所示,以特定位为单位,将长字符串划分为至少一字符字符串。而在本实施例中,以7位译码而言,长字符串会以7位为单元而被划分多组字符字符串。详细地说,将长字符串由后往前以7个位作为一组字符字符串。其中,由于数据讯息的有效长度是12,因此不但不够7位字符字符串会被舍弃,倘若超出12组,则第13组7位的字符字符串也会被舍弃。所划分的12组字符字符串为:0001111,0010000,0011101,0010010,0010011,0010100,0010101,0010110,0010111,0011000,0011001,0011010。
最后,如步骤S325所示,计算上述字符字符串的十进制值,而依序获得15,16,17,18,19,20,21,22,23,24,25,26。
返回图1,在进行位译码之后,如步骤S120所示,判断译码后的字符字符串的十进制值是否位于一数值范围内。在本实施例中,数值范围为大于等于0并且小于等于127。若译码后的字符字符串的十进制值落在0~127之内,则执行步骤S125;反之,若译码后的字符字符串的十进制值未落在0~127之内,则执行步骤S130。
在步骤S125中,若字符字符串的十进制值位于上述数值范围内,以十进制值作为索引值而查询字符对照表(如图2),藉以获得对应的标准字符码而转换为对应的字符。举例来说,图4是依照本发明一实施例所绘示的解码结果的示意图。请参照图4,本实施例是以上述实施例之数据讯息内容为“Δ_ΦГΛΩ∏Ψ∑ΘΞ”为例,藉由查询字符对照表可以得知索引值15、16、17、18、19、20、21、22、23、24、25、26所对应的ASCII十进制分别为229、916、95、934、915、923、937、928、936、931、920、926。之后,便依据这些ASCII十进制转换为对应的字符,即“Δ_ΦГΛΩ∏Ψ∑ΘΞ”。
另外,在步骤S130中,若字符字符串的十进制值未位于上述数值范围内,则以十进制值作为标准字符码而转换为对应的字符。例如,倘若字符字符串的十进制值为128,则128即为ASCII码的十进制值,而直接转换为对应的字符。而在译码出对应的字符之后,更可将解码获得的字符显示至一输出装置(例如,打印机、屏幕等)上。
综上所述,本发明建立一字符对照表,扩大了PDU模式的位译码范围,其不仅覆盖普通常用字符,而且覆盖了扩充字符。在译码时,可直接查看字符对照表以快速译码。据此,对于扩充字符亦能够正确译码而不会产生乱码,大大扩充了数据讯息所能输入的字符。因此,在简讯应用上,可使用的字符将大幅增加。此外,亦不用更改数据讯息发送端的编码模式,利用上述译码方法便能够正确地译码各种字符。也就是说,只要于接收端中利用上述数据解码方法,即能够正确地译码出各种字符,而不需变更发送端中的编码方式,相当方便。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明之精神和范围内,当可作些许之更动与润饰,故本发明之保护范围当视后附之申请专利范围所界定者为准。
Claims (7)
1.一种数据解码方法,包括:
建立一字符对照表,其中该字符对照表包括多个索引值与该些索引值各自对应的一标准字符码的十进制值;
接收由一协议数据单元模式所编码的数据讯息,该数据讯息为一字节数组,该字节数组包括多个元素;
对该字节数组执行该位译码,以获得至少一字符字符串;
判断译码后的该字符字符串的十进制值是否位于一数值范围;
若该字符字符串的十进制值位于该数值范围内,以该十进制值作为索引值而查询该字符对照表,藉以获得对应的标准字符码而转换为对应的字符;以及
若该字符字符串的十进制值未位于该数值范围内,则以该十进制值作为该标准字符码而转换为对应的字符。
2.根据权利要求1所述的数据解码方法,其特征在于:其中对该字节数组执行该位译码的步骤包括:
将该字节数组的元素分别转换为十六进制,而形成一第一字符数组;
反转该第一字符数组的元素,而形成一第二字符数组;
将该第二字符数组的元素分别转换为二进制,并串接该些元素的二进制值而形成为一长字符串;
以一特定位为单位,将该长字符串划分为至少一字符字符串;以及计算该字符字符串的十进制值。
3.根据权利要求1或2所述的数据解码方法,其特征在于:
其中建立该字符对照表的步骤,包括:
接收已编码的至少一字符;
对该字符执行一位译码,以取得一译码字符的十进制值;
查询一标准字符码对照表,取得该译码字符的十进制值所对应的标准字符码的十进制值;以及
填入该译码字符的十进制值至一索引值字段,而填入该标准字符码的十进制值至对应的一标准字符码字段。
4.根据权利要求1或2所述的数据解码方法,其特征在于:其中该标准字符码为美国信息交换标准码。
5.根据权利要求1或2所述的数据解码方法,其特征在于:其中该位译码为7位译码。
6.根据权利要求1或2所述的数据解码方法,其特征在于:其中该数值范围为大于等于0并且小于等于127。
7.根据权利要求1或2所述的数据解码方法,其特征在于:其中在转换为对应的字符的步骤之后,更包括:显示对应的字符。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010117860 CN101840394B (zh) | 2010-03-04 | 2010-03-04 | 数据解码方法 |
TW099107844A TWI461003B (zh) | 2010-03-04 | 2010-03-17 | 數據解碼方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010117860 CN101840394B (zh) | 2010-03-04 | 2010-03-04 | 数据解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101840394A true CN101840394A (zh) | 2010-09-22 |
CN101840394B CN101840394B (zh) | 2012-12-19 |
Family
ID=42743771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010117860 Expired - Fee Related CN101840394B (zh) | 2010-03-04 | 2010-03-04 | 数据解码方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101840394B (zh) |
TW (1) | TWI461003B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541822A (zh) * | 2010-12-21 | 2012-07-04 | 航天信息股份有限公司 | 通信过程中汉字的处理方法和装置 |
CN107919943A (zh) * | 2016-10-11 | 2018-04-17 | 阿里巴巴集团控股有限公司 | 二进制数据的编码、解码方法和装置 |
CN109213973A (zh) * | 2018-07-04 | 2019-01-15 | 珠海市特车网络科技有限公司 | Vin码转码存储方法及装置和对应的读取方法及装置 |
CN110287190A (zh) * | 2019-06-25 | 2019-09-27 | 四川深度在线广告传媒有限公司 | 一种大数据分析自定义编码储存结构及编码、解码方法 |
CN110572162A (zh) * | 2019-07-29 | 2019-12-13 | 邯郸钢铁集团有限责任公司 | 在plc中实现bcd码中的错误码的过滤方法 |
CN111404846A (zh) * | 2020-04-24 | 2020-07-10 | 中国人民解放军火箭军工程大学 | 摩尔斯码射频信号的接收识别方法、装置及模拟电台主机 |
CN111865329A (zh) * | 2020-07-24 | 2020-10-30 | 刘彦君 | 电气二次解码二进制数字信号的方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109586729B (zh) * | 2018-10-23 | 2023-01-17 | 浙江工商大学 | 一种红外编码压缩方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005027548A1 (de) * | 2003-08-26 | 2005-03-24 | Siemens Aktiengesellschaft | Verfahren zur übertragung von textnachrichten im textmode |
CN1669024A (zh) * | 2002-07-15 | 2005-09-14 | 西门子公司 | 结构化文档、尤其xml文档的编码/译码的方法和装置 |
KR100661583B1 (ko) * | 2005-10-18 | 2006-12-27 | 엘지전자 주식회사 | 유니코드를 포함하는 에스엠에스 메시지 서비스 기능을가지는 이동통신 단말기 및 그 서비스 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5831560A (en) * | 1996-09-20 | 1998-11-03 | Sun Microsystems, Inc. | S-table approach to data translation |
-
2010
- 2010-03-04 CN CN 201010117860 patent/CN101840394B/zh not_active Expired - Fee Related
- 2010-03-17 TW TW099107844A patent/TWI461003B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1669024A (zh) * | 2002-07-15 | 2005-09-14 | 西门子公司 | 结构化文档、尤其xml文档的编码/译码的方法和装置 |
WO2005027548A1 (de) * | 2003-08-26 | 2005-03-24 | Siemens Aktiengesellschaft | Verfahren zur übertragung von textnachrichten im textmode |
KR100661583B1 (ko) * | 2005-10-18 | 2006-12-27 | 엘지전자 주식회사 | 유니코드를 포함하는 에스엠에스 메시지 서비스 기능을가지는 이동통신 단말기 및 그 서비스 방법 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541822B (zh) * | 2010-12-21 | 2014-07-02 | 航天信息股份有限公司 | 通信过程中汉字的处理方法和装置 |
CN102541822A (zh) * | 2010-12-21 | 2012-07-04 | 航天信息股份有限公司 | 通信过程中汉字的处理方法和装置 |
CN107919943A (zh) * | 2016-10-11 | 2018-04-17 | 阿里巴巴集团控股有限公司 | 二进制数据的编码、解码方法和装置 |
CN107919943B (zh) * | 2016-10-11 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 二进制数据的编码、解码方法和装置 |
US10785277B2 (en) | 2016-10-11 | 2020-09-22 | Alibaba Group Holding Limited | Methods and devices for encoding and decoding binary data |
CN109213973A (zh) * | 2018-07-04 | 2019-01-15 | 珠海市特车网络科技有限公司 | Vin码转码存储方法及装置和对应的读取方法及装置 |
CN109213973B (zh) * | 2018-07-04 | 2023-05-16 | 珠海市特车网络科技有限公司 | Vin码转码存储方法及装置和对应的读取方法及装置 |
CN110287190A (zh) * | 2019-06-25 | 2019-09-27 | 四川深度在线广告传媒有限公司 | 一种大数据分析自定义编码储存结构及编码、解码方法 |
CN110572162B (zh) * | 2019-07-29 | 2023-02-21 | 邯郸钢铁集团有限责任公司 | 在plc中实现bcd码中的错误码的过滤方法 |
CN110572162A (zh) * | 2019-07-29 | 2019-12-13 | 邯郸钢铁集团有限责任公司 | 在plc中实现bcd码中的错误码的过滤方法 |
CN111404846A (zh) * | 2020-04-24 | 2020-07-10 | 中国人民解放军火箭军工程大学 | 摩尔斯码射频信号的接收识别方法、装置及模拟电台主机 |
CN111404846B (zh) * | 2020-04-24 | 2023-04-14 | 中国人民解放军火箭军工程大学 | 摩尔斯码射频信号的接收识别方法、装置及模拟电台主机 |
CN111865329A (zh) * | 2020-07-24 | 2020-10-30 | 刘彦君 | 电气二次解码二进制数字信号的方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201134105A (en) | 2011-10-01 |
TWI461003B (zh) | 2014-11-11 |
CN101840394B (zh) | 2012-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101840394B (zh) | 数据解码方法 | |
CN108418683B (zh) | 一种基于汉字结构特征的无载体文本隐写方法 | |
RU2011104005A (ru) | Способ кодирования символов, способ декодирования символов, способ передачи символов из передатчика к приемнику, кодер, декодер и система для передачи символов из передатчика к приемнику | |
CN106452607B (zh) | 一种传输、解析信息的方法及装置 | |
CN105790853A (zh) | 一种声波传输字符数据的方法及装置 | |
CN102137353A (zh) | 基于二维码的手机短信传输方式 | |
CN1181662C (zh) | 手机的手写字符输入方法及具有这种功能的手机 | |
CN112037765A (zh) | 基于bnep协议的蓝牙音频设备语音识别系统的方法 | |
CN104360988A (zh) | 中文字符的编码方式的识别方法和装置 | |
CN110289934A (zh) | 一种基于北斗短报文的数据传输编码解码方法及系统 | |
WO2013182079A1 (zh) | 一种对短消息进行编码转换的方法及装置 | |
US9621388B2 (en) | Method for serial data transmission and system therefor | |
CN101394222A (zh) | 一种高效的识别用户标识符的方法及装置 | |
CN100435591C (zh) | 一种在短信通信平台上实现传输不可见字符的方法 | |
CN108123721B (zh) | 编码方法及装置 | |
TW201242411A (en) | System and method for processing unsolicited responses of AT commands | |
CN103024116B (zh) | 基于双音多频编码矩阵的信息处理方法和信息处理系统 | |
CN108551366B (zh) | 一种基于led和手机相机的可见光通信方法 | |
CN107276719B (zh) | 一种用于通信系统的号码十进制数奇偶个数识别方法 | |
CN110266436A (zh) | 一种基于北斗的二进制数据流传输方法 | |
KR101632651B1 (ko) | 바이너리 데이터 전송 방법, 서버 및 컴퓨터 프로그램 | |
KR101127063B1 (ko) | 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 포함하는 데이터 구조를 기록한 컴퓨터로 읽을 수 있는 매체와, 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 이용하는 인코더 및 디코더와, 아스키 코드와 연동 가능한 2-바이트 한글 완성형 코드를 이용한 인코딩 방법 및 디코딩 방법과, 이를 행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 | |
CN100576858C (zh) | 用于短消息业务的传输字母表集的选择 | |
KR101739039B1 (ko) | 바이너리 데이터 전송 방법, 서버 및 컴퓨터 프로그램 | |
CN116708601B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121219 Termination date: 20150304 |
|
EXPY | Termination of patent right or utility model |