CN1275172C - 将二进制数据序列转换成可打印字符的改进的方法和系统 - Google Patents

将二进制数据序列转换成可打印字符的改进的方法和系统 Download PDF

Info

Publication number
CN1275172C
CN1275172C CN 03121357 CN03121357A CN1275172C CN 1275172 C CN1275172 C CN 1275172C CN 03121357 CN03121357 CN 03121357 CN 03121357 A CN03121357 A CN 03121357A CN 1275172 C CN1275172 C CN 1275172C
Authority
CN
China
Prior art keywords
byte
character
prefix
printable
printable character
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.)
Expired - Lifetime
Application number
CN 03121357
Other languages
English (en)
Other versions
CN1532727A (zh
Inventor
刘昕
徐宏利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Mobility LLC
Google Technology Holdings LLC
Original Assignee
Motorola Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Priority to CN 03121357 priority Critical patent/CN1275172C/zh
Publication of CN1532727A publication Critical patent/CN1532727A/zh
Application granted granted Critical
Publication of CN1275172C publication Critical patent/CN1275172C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明涉及将一个八位字节数据流转换成ASCII字符的改进的方法和实现该方法的系统。该方法包括下列步骤:一个字节一个字节地将输入的每个字节分离成一个2比特的前缀和一个6比特部分;用一组特殊可打印字符中的一个表示每个输入的字节;按照预定方式,一字节一字节地将每个字节的6比特部分转换成一组可打印字符中的一个可打印字符;并且输出这个特殊的可打印字符和可打印字符。

Description

将二进制数据序列转换成可打印字符的改进的方法和系统
发明领域
本发明涉及一种将二进制数据序列转换成可打印字符的方法和系统,更具体地说,涉及一种将一个八位(8比特)数据流转换成ASCII字符的改进的方法和系统。
背景技术
在许多应用领域,文件通常用它们的“自然”格式表示,如八位字符或二进制数据。这样的数据可能不能在某些传输规约上传输,并且可能不得不转换成一个可以接收的传输格式,即ASCII格式。
将一个八位数据序列转换成可打印字符通常用于e-mail、e-mail附件、传到CGI服务器的邮件、Cookie数据和不适合二进制数据应用和传输的应用场合。
将这样一个八位数据转换成可打印字符的最常用的方法是BASE64,它采用二进制序列的3-in-4表示方式,即它通过将三个连续的字节组分成每6比特为一组的四个组,来编码ASCII字节序列。
我们知道,在将八位二进制转换成ASCII码的编码中,规约的效率与通信信道的字符干扰概率相矛盾。也就是说,规约的效率随着表示中所用的字符数的增加而增加,而另一方面,所用的字符越多,可能出现在通信信道上的干扰机会就越大。
因为BASE64使用了64个可打印字符的集合来将八位数据转换成可打印字符,即小写字母a到z,大写字母A到Z,阿拉伯数字0到9,“+”和“/”,所以它减小了所用字符与通信信道间干扰的机会。
然而,在BASE64编码方法中,著名的二进制序列的3-in-4表示方式使得很难单独地一个字节一个字节地处理数据序列,并且导致输出数据量增加33%,这种增加与输入数据中出现的字符无关。这导致要处理数据量的增加,因此所需的处理时间也增加。
发明内容
本发明的目的在于提供一种将一个八位的数据流转换成ASCII字符的改进的方法和系统。
根据本发明的一个方面的方法包括下列步骤:一个字节一个字节地输入所述的由八位字节组成的数据序列;一字节一字节将每个输入的字节分成2比特的前缀和6比特的部分;从一组特殊的可打印字符中用一个特殊的可打印字符表示每一个输入的字节;依照预定方式,,一字节一字节将每个字节的6比特部分转换成一组可打印字符中的一个可打印字符;输出所述特殊的可打印字符和可打印字符。
根据本发明的另一个方面的方法包括下列步骤:一个字节一个字节地输入所述的由八位字节组成的数据序列;用一组特殊可打印字符中的一个特殊可打印字符表示一组连续输入字节中的每一个字节;依照预定的方式,一个字节一个字节地将所述组中每个字节的6比特部分转换成一组可打印字符中的一个可打印字符;输出所述可打印字符。
根据本发明的一个方面的系统包括:输入所述的由八位字节组成的数据序列的装置;将输入的字节分成两部分的装置;生成一个可打印的前缀表示的装置;生成一个可打印字符和生成一个ASCII字符的装置;其中所述的分离装置一个字节一个字节地将输入的每个字节分成一个2比特的前缀和6比特的部分;所述的前缀表示生成装置对每个输入的字节生成一个前缀表示;所述的可打印字符生成装置基于预定方式对每个所述的6比特部分生成一个可打印字符,该可打印字符来自一组可打印字符,所产生的前缀表示和可打印字符在所述的ASCII字符生成装置中形成一个ASCII字符表示以便输出。
根据本发明的另一方面的系统包括:输入所述的由八位字节组成的数据序列的装置;将输入字节分成两部分的装置;生成一个可打印的前缀表示的装置;生成一个可打印字符的装置和生成一个ASCII字符的装置;其中所述的分离装置自适应地一个字节一个字节地将输入的每个字节分成一个2比特的前缀和6比特的部分;所述的前缀表示生成装置对一组连续输入的字节中的每个字节生成一个特殊的前缀表示;所述的可打印字符生成装置基于预定方式,对所述的连续输入字节组中的每一个生成一个可打印字符,该字符来自一组字符;所述可打印字符通过ASCII字符生成装置作为ASCII字符输出。
附图说明
图1是显示本发明方法的流程图。
图2是显示本发明方法的另一种方式的流程图。
图3是显示一个本发明系统的实施例的示意方框图。
图4是显示一个本发明改进系统的实施例的示意方框图。
具体实施方式
本发明的发明人注意到一个八位的字节最多有256种变化,它可以分成4组,每组由64种变化组成,并且每组可以由一个特殊的字符表示,另外,任何一个字节中的前两个比特一定是下列四种之一:00,01,10,11。因此,如果将一个字节分成两部分,也就是,一个部分由前两个比特组成,一个部分由剩下的6比特组成,则这个字节可以由一个2比特的前缀(00,01,10,11)和一个6比特的部分组成。
由于一个6比特的字节能用BASE64编码方式转换成一个可打印字符,如果将一个特殊的可打印字符赋予前缀,则任何一个八位字节可以由一个特殊的可打印字符和一个BASE64字符表示。本发明的编码方案采用BASE64字符集和四个特殊的字符表示一个八位字节,这些特殊的字符可以是任意的可打印字符,他们对应于标准的128个ASCII字符集中的值为32到126的字符,除了那些已经被BASE64字符集用了的字符。这些特殊字符可以包括,例如@,#,$,%,&,*,(,),^,!,-,?,<,>,”,’,-,:,;,[,],{,},\,|等。
因为每个八位的字节可以由一个前缀和一个6比特的部分组成,按照本发明的方法,可以一个字节一个字节地处理输入数据,而不象BASE64中所用的那样,每三字节一组地处理输入数据。
因为八位字节有256种变化。这256种变化被映射成4组BASE64字符集之一中的64个字符。每组从字符@,#,$,%,&,*,(,),^,!,-,?,<,>,”,’,-,:,;,[,],{,},\,|中选择4个特殊字符之一表示。例如,00=@,01=#,10=$,11=%,因此一个字节可以转换成一个由例如@,#,$,%四个字符之一表示的前缀和一个BASE64字符。
字节和可打印字符(特殊字符和BASE64字符)之间的映射关系可以设置如下:
映射例1:
或者映射可以由‘前缀’+BASE64表示。也就是说,对于任意一个八位的字节,不管这个字节是0-63还是192-255,都可以表示成一个2比特的前缀和对应于十进制数的0-63的6比特。对于2比特前缀,@表示00,#表示01,$表示10,%表示11。
然而,重要的是由于特殊字符选自字符组@,#,$,%,&,*,(,),^,!,-,?,<,>,”,’,-,:,;,[,],{,},\,|,也可以使用其它的映射,如:
映射例2
Figure C0312135700101
在此%表示00,$表示01,#表示10,@表示11。
实际上,除了@,#,$,%以外的其他特殊字符也可以用于分别表示00,01,10,11。
因为只有4个特殊的字符,在一个二进制数据流中的两个连续字节的前缀可能相同,换句话说,它们可能代表同一组BASE64字符集,只有当它与紧接着的前一字节不在同一个组(有相同的前缀)时,前缀才被使用或输出。
现在,通过例子说明本发明。
图1是一个显示本发明方法的流程图。首先,按照变化和如:映射例1将一个输入字节归类到四组之一(步骤102)。
然后,根据映射例1确定编码的类别,即:该字节的前缀表示(步骤103)。
而后,将该前缀与前一字节的前缀进行比较(步骤104a)。如果它与前一字节的前缀代表同样的组,或换句话说,如果它与前一字节的前缀由同样的特殊字符表示,该前缀被忽略(步骤104b)。
同时,字节被分成一个2比特前缀和一个6比特部分(步骤104)。根据常规的匹配方式,将6比特部分转换成BASE64字符(步骤105)。也就是说,在一个BASE64字符集中找出一个与6比特部分相匹配的BASE64字符来完成匹配过程。例如,一个6比特部分为011001,它表示BASE64字符集中的大写字母Z。
最后,将BASE64字符与前缀(例如:Z)一同输出以便例如:传输(步骤106),如果前一个字节的前缀不是代表Z组的话。然而,如果该前缀与前一个字节的前缀相同,则仅输出BASE64字符而忽略前缀。
如图2所示,还可以不先将字节分组,而是将它直接分成一个2比特前缀和一个6比特的部分(步骤202)。而后,按照前缀搜索相应的特殊字符(步骤203a)。如果前缀是00,则用@表示,如果前缀是01,则用#表示,如果前缀是10,则用$表示,如果前缀是11,则用%表示。
然后,将所表示的前缀与前一字节的前缀进行比较(步骤204),如果它与前面的字节表示同样的组,或者换句话说,如果它用与紧接着的前一个字节的前缀一样的特殊字符表示,则省略所表示的前缀(步骤205)。
如果这个被表示的前缀代表不同的组或者与前面字节前缀的表示不同,那么这个前缀即将被输出。
同时,按照常规的匹配方式,将6比特部分转换成一个BASE64字符(步骤203b),即在BASE64字符集中找出一个与该6比特部分相匹配的BASE64字符进行匹配。例如,如果6比特部分为011001,它由BASE64字符集中的‘Z’表示。
最后,该BASE64字符与所表示的前缀(例如:Z)一起输出,如果前一字节的前缀不是代表Z组的话(步骤206)。然而,如果所表示的前缀与前一字节的前缀一样,则仅仅输出BASE64字符,而前缀被省略。
对于一个十六进制的数据序列0x14fb9c03d9,它的八位二进制表示为00010100 11111011 10011100 00000011 11011001。
根据本发明,在这个数据的二进制-文本转换中,首先取第一个字节,并将其分成一个前缀00和一个6比特部分010100,如果采用映射例1,前缀00用一个特殊字符@表示。
然后将该前缀@与紧前一字节的前缀进行比较,在这种情况下,由于在这个数据流中,00010100是第一个字节,前缀被保存以便输出。
这个6比特部分010100被转换成一个BASE64字符T,然后以@T的形式与前缀@一起输出。
然后处理第二字节11111011。它被分成一个前缀11和一个6比特部分111011,前缀11对应一个特殊字符%,将它与前面一个字节00010100的前缀比较,也就是与表示00的特殊字符@进行比较,因为两个前缀不在同一组,那么前缀%将被输出以便传输。
6比特部分111011被转换成一个BASE64字符7,然后以%7的形式与前缀%一起输出。
类似地处理第三字节10011100,将它分成一个前缀10和一个6比特部分011100,前缀10对应一个特殊字符$,将它与其前面的字节11111011的前缀比较,也就是与表示11的特殊字符%进行比较,因为两个前缀不在同一组,那么前缀$将被输出以便传输。
6比特部分011100被转换成一个BASE64字符c,然后以$c的形式与前缀$一起输出。
也类似地处理第四字节00000011,将它分成一个前缀00和一个6比特部分000011,前缀00对应一个特殊字符@,6比特部分000011被转换成一个BASE64字符D。
尽管前缀@与第一字节的前缀相同,但它与紧前面一个字节,即:10011100的前缀不同,前缀@与表示000011的BASE64字符一起输出。
类似地,第五字节11011001也被分成一个前缀11和一个6比特部分011001,前缀11用字符%表示,6比特部分011001被转换成字母Z。
尽管前缀%与第二字节的前缀在同一组,但是它与紧前面一个字节,即:00000011不在同一组,前缀%与表示011001的字母Z一起输出。
编码过程一个字节一个字节地进行。
在解码过程中,过程相反地进行。也就是用映射关系和BASE64方式,将可打印ASCII字符转换回八位二进制数据,例如,@T首先被分成@和T,@被转换成00,T被转换成010100,因此,@T被转换成00010100。
类似地,%7,$c,@D,%Z被分别地转换回11111011,10011100,00000011和11011001,表1和表2显示了将数据(十六进制)0x14fb9c03d9转换成ASCII字符的结果。
表1
  输入数据:   0x14fb9c03d9
  HEX:   1      4   f      b   9      c   0      3   d      9
  八位:   00010100   11111011   10011100   00000011   11011001
  十进制:   20   251   156   3   217
  输出:   @T   %7   $c   @D   %Z
表2
  输入数据:   0x14fb9c03d9
  HEX:   1      4   f      b   9      c   0      3   d      9
  八位:   00010100   11111011   10011100   00000011   11011001
  前缀:   @   %   $   @   %
  6-bit   20   59   28   3   25
  输出:   @T   %7   $c   @D   %Z
在编码过程中,不在BASE64字符集中的那些字符,如:回车和其它空白字符,可能指示一个传输错误。
在解码过程中,如果要被解码的字符与BASE64字符集中的字符不匹配或者是在BASE64字符集以外,这些字符被忽略或者不被解码。在BASE64字符集和特殊前缀字符表中没有的回车或其它字符也被忽略。
现在参考图3,图3是体现本发明个系统的一个实施例的方框示意图。
根据本发明的系统包括:一个缓冲器(301),一个字节分离器(302)与上述缓冲器相连,一个前缀产生器(303)和一个BASE64产生器(304)分别与所述字节分离器相连,一个ASCII码产生器(305)分别与上述前缀产生器(303)和BASE64产生器(304)的输出相连。
首先,二进制数据流被输入到一个字节分离器或一个实现相似功能的机构。如果数据是十六进制的,必须将它转换成八位字节。利用分离机构将这个字节分成两部分,即2比特前缀和剩余的6比特部分。
该2比特前缀与预先确定的四个特殊可打印字符之一相匹配,并且用一个特殊的可打印字符表示,这在一个完成这样功能的装置,如:前缀产生器中。
按照常规的BASE64方式,6比特部分被转换成一个BASE64字符,这在一个完成这样功能的装置,如:BASE64产生器中进行。
然后,在一个产生ASCII码字符装置,如:ASCII产生器中将所产生的前缀与紧前面一个字节的前缀进行比较,以决定当前字节和紧前面一个字节是否属于同一个组。如果它们属于同一组,也就是所产生的前缀与紧前面一个字节的前缀相同,则只有BASE64字符作为ASCII字符产生并被输出。如果不同,所产生的前缀和BASE64字符以ASCII字符的形式输出以便传输或进一步使用。
应该注意,本领域的技术人员可以以各种方式或方法实现本发明,而不仅仅是上面所描述的方式或方法。例如,某些功能可不仅通过一个独立的装置,而是通过,例如:两种装置的组合实现。
图4是一个显示本发明系统的另一实施例的示意方框图。在图4中,字节分离装置完成自适应“动态”映射而不是“静态”映射,“静态”映射中八位字节和可打印字符之间的映射如上所述是预先定好的。
在图3所示的实施例中,字节分离器进行所谓的“静态”映射,因为在八位制字节和4个BASE64组之间的映射是预先定好的或固定的。然而,映射也可以基于字节值出现的频率来实现,例如,在一个数据流中的字节可以如下分组:
映射例3(动态映射1):
在这种情况下,数据流中的头64个字节由@表示,而后续的64字节由#表示,等等,也就是说,以字节传输的顺序分组,而不管它们的值。字节和BASE64字符之间的映射关系可以用如下的一个映射表建立:
 字节1  字节2  字节3  字节4  字节5  字节6  字节7   字节..   字节64
 A  B  C  D  B  F  G   ...   /
具有同样值的字节将被映射成一个字符,例如,由于字节2和字节5有相同的值,它们被映射成相同的符号,例如:大写字母B。
下面是一个“动态”映射的例子。对于一个输入串:“I’m glad to seeyou....”,如果使用映射例3的动态映射方式,则转换将是:
  文本:   I   ‘   m   sp   g   l   a   d   sp   t   o   sp   s ...
  十进制   73   39   109   32   103   108   97   100   32   116   111   32   115 ...
  16进制   49   27   6D   20   67   6C   61   64   20   74   6F   20   73 ...
  二进制   01001001   00100111   01101101   00100000   01100111   01101100   01100001   01100100   00100000   01110100   01101111   00100000   01110011 ...
  静态1   #J   @n   #t   @g   #n   #s   #h   #k   @g   #0   #v   @g   #z ...
  动态1   A   B   C   D   E   F   G   H   D   I   J   D   K
上面描述的用“静态”映射的输出是:J@n#t@g#nshk@g#0v@g#z...
对于“动态“映射,因为第一个64字节是在@+BASE64这组之中,@被省略并且输出是:ABCDEFGHDIJDK...
在这种情况下,“动态”的映射表是:
  16进制   49   27   6D   20   67   6C   61   64   74   6F   73 ...
  动态   A   B   C   D   E   F   G   H   I   J   K
在某些应用中,如e_mail文本,它所用的字节少于64个,这时ASCII映射的“动态”排列相对于“静态”排列是有其优越性的。因此,在组之间将没有转换,输出是较小的。
以上以举例的方式描述了本发明。重要的是本发明不限于所描述的例子,本领域的技术人员在不脱离本发明精神的情况下,可以对其进行各种修改。

Claims (25)

1.一种将一个八位字节数据序列转换成可打印字符的方法,包括下列步骤:
一个字节一个字节地输入由八位字节组成的所述八位字节数据序列;
一个字节一个字节地将每个输入的字节分成一个2比特前缀和一个6比特的剩余部分;
用一组特殊可打印字符中的一个特殊可打印字符来表示每个输入的字节的2比特前缀;
按照一个预定的方式,一个字节一个字节地将每个字节的6比特的剩余部分转换成一组可打印字符中的一个可打印字符;
输出所述的特殊可打印字符和所述可打印字符。
2.根据权利要求1的方法,其中所述的特殊可打印字符组由4个特殊可打印字符组成。
3.根据权利要求2的方法,其中所述特殊可打印字符是从一组由@,#,$,%,&,*,(,),^,!,-,?,<,>,”,’,-,:,;,[,],{,},\,|组成的字符中选择。
4.根据权利要求3的方法,其中所述的特殊可打印字符是@,#,$,%。
5.根据权利要求1的方法,其中所述可打印字符组包括A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,I,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9,+,/,它们分别表示十进制数0-63。
6.根据权利要求1或5的方法,其中所述的预定方式是BASE64。
7.根据权利要求1的方法,其中所述用一个特殊可打印字符表示所述字节的2比特前缀,是按照字节变量和所述特殊字符之间的一个预定映射方式来实现的。
8.根据权利要求7的方法,其中所述字节变量被分类成四组,每组有64个变量。
9.根据权利要求1的方法,进一步包括这一步骤:将所述的特殊可打印字符与所述字节紧前面的一个字节的特殊可打印字符表示进行比较。
10.根据权利要求1或9的方法,其中如果所述特殊可打印字符与紧前面的一个字节表示同一组,这一字符被省略。
11.一种将一个八位字节数据序列转换成可打印字符的系统,包括:输入装置,用于输入所述由八位字节组成的数据序列;分离装置,用于将输入的字节分离成两部分;前缀表示生成装置,用于生成一个可打印的前缀表示;可打印字符生成装置,用于生成一个可打印字符;和ASCII字符生成装置,用于生成一个ASCII字符,
其中所述分离装置一个字节一个字节地将输入的每个字节分离成一个2比特前缀和一个6比特的剩余部分;所述前缀表示生成装置对每个输入的字节的2比特前缀生成一个前缀表示;所述可打印字符生成装置对每个所述6比特的剩余部分,基于预定方式,从一组可打印字符中生成一个可打印字符,产生的前缀表示和可打印字符在所述ASCII字符生成装置中进行组合形成一个ASCII字符表示以供输出。
12.根据权利要求11的系统,其中所述2比特前缀有4种变化,所述前缀表示是从一组由@,#,$,%,&,*,(,),^,!,-,?,<,>,”,’,-,:,;,[,],{,},\,|组成的字符中选择的一个特殊可打印字符。
13.根据权利要求12的系统,其中所述前缀表示是下列字符之一:@,#,$,%。
14.根据权利要求11的系统,其中所述可打印字符组包括A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,I,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9,+,/,它们分别表示十进制数0-63。
15.根据权利要求11或14的系统,其中所述预定方式是BASE64。
16.将一个八位字节数据序列转换成可打印字符的方法,包括以下步骤:
一个字节一个字节地输入所述由八位字节组成的八位字节数据序列;
用一组特殊可打印字符中的一个特殊可打印字符表示一组连续输入字节中的每个字节的2比特前缀;
按照预定顺序,一个字节一个字节地将所述组中的每个字节的6比特的剩余部分转换成一组可打印字符中的一个可打印字符;
输出该可打印字符。
17.根据权利要求16的方法,其中所述的一组可打印字符包括A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,I,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9,+,/。
18.根据权利要求16的方法,其中所述预定顺序是A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,I,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9,+,/。
19.根据权利要求16的方法,其中所述一个特殊前缀表示是一个可打印字符,它选自一组包括@,#,$,%,&,*,(,),^,!,-,?,<,>,”,’,-,:,;,[,],{,},\,|的字符。
20.根据权利要求16的方法,其中所述连续输入的字节组由64个连续输入的字节组成。
21.一种将一个八位字节的数据序列转换成可打印字符的系统,包括:输入装置,用于一个字节一个字节地输入所述由八位字节组成的数据序列;分离装置,用于将输入的字节分离成两部分;前缀表示生成装置,用于生成可打印前缀表示;可打印字符生成装置,用于生成可打印字符;和ASCII字符生成装置,用于生成ASCII字符,
其中所述分离装置一个字节一个字节地自适应地将输入的每个字节分离成一个2比特前缀和一个6比特的剩余部分;所述前缀表示生成装置对一组连续输入字节中的每个字节的2比特前缀生成一个特殊的前缀表示;所述可打印字符生成装置对所述连续输入字节组中的每个字节的6比特的剩余部分,基于预定方式从一组可打印字符中生成一个可打印字符;可打印字符通过所述ASCII字符生成装置作为ASCII字符输出。
22.根据权利要求21的系统,其中所述的可打印字符组包括:A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,I,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9,+,/。
23.根据权利要求21的系统,其中所述的预定顺序是:A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,I,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9,+,/。
24.根据权利要求21的系统,其中所述的一个特殊的前缀表示是一个可打印字符,它选自一组包括@,#,$,%,&,*,(,),^,!,-,?,<,>,”,’,-,:,;,[,],{,},\,|的字符。
25.根据权利要求21的系统,其中所述连续输入的字节组由64个连续输入字节组成。
CN 03121357 2003-03-26 2003-03-26 将二进制数据序列转换成可打印字符的改进的方法和系统 Expired - Lifetime CN1275172C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 03121357 CN1275172C (zh) 2003-03-26 2003-03-26 将二进制数据序列转换成可打印字符的改进的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03121357 CN1275172C (zh) 2003-03-26 2003-03-26 将二进制数据序列转换成可打印字符的改进的方法和系统

Publications (2)

Publication Number Publication Date
CN1532727A CN1532727A (zh) 2004-09-29
CN1275172C true CN1275172C (zh) 2006-09-13

Family

ID=34285678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03121357 Expired - Lifetime CN1275172C (zh) 2003-03-26 2003-03-26 将二进制数据序列转换成可打印字符的改进的方法和系统

Country Status (1)

Country Link
CN (1) CN1275172C (zh)

Also Published As

Publication number Publication date
CN1532727A (zh) 2004-09-29

Similar Documents

Publication Publication Date Title
CN1251151C (zh) 压缩数据包的方法
CN101453221B (zh) 基于比特交织编码调制系统的映射器及其映射方法
US8311124B2 (en) Decoding method and apparatus
CN1713626A (zh) 电压电平编码系统和方法
EP3328012A1 (en) Methods of converting or reconverting a data signal and method and system for data transmission and/or data reception
CN1928850A (zh) 基于数据字典的数据压缩方法、装置
CN101060338A (zh) 一种卷积码速率匹配的方法和装置
CN1937582B (zh) 待压缩数据的预处理方法以及压缩数据的传输方法
CN101064562A (zh) 降低控制信令中资源分配信息的比特开销的设备和方法
CN1645752A (zh) 一种Turbo码与多维调制级联的系统编译码方案
CN1393054A (zh) 用于利用单工码产生(n,3)码和(n,4)码的装置和方法
CN108199823B (zh) 基于滑动加密窗口的混沌视频加密方法
CN101046858A (zh) 电子信息比较系统和方法以及反垃圾邮件系统
CN1514662A (zh) 用于增强型短消息业务的方法
CN1275172C (zh) 将二进制数据序列转换成可打印字符的改进的方法和系统
CN1126269C (zh) 调制解调方式和调制解调装置
CN1264279C (zh) 在移动通信系统中编码/解码信道的设备和方法
CN1115782C (zh) 一种适用于宽字符集文档的压缩方法
CN101064709A (zh) 减少指示信道资源的比特开销的设备和方法
CN1635804A (zh) 一种在短信通信平台上实现传输不可见字符的方法
CN1992703A (zh) 编码数据的方法、解码方法、发射机和接收机
CN1150713C (zh) 保密通信系统中的数字信号处理方法
CN1222170C (zh) 用于提高码率的块编码/解码方法和设备
CN1669288A (zh) 通过存储器查找来确定数据关键字与规则的一致性的方法和系统
CN1158800C (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
ASS Succession or assignment of patent right

Owner name: MOTOROLA MOBILE CO., LTD.

Free format text: FORMER OWNER: MOTOROLA INC.

Effective date: 20110110

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: ILLINOIS, USA TO: ILLINOIS STATE, USA

TR01 Transfer of patent right

Effective date of registration: 20110110

Address after: Illinois State

Patentee after: MOTOROLA MOBILITY, Inc.

Address before: Illinois Instrunment

Patentee before: Motorola, Inc.

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Illinois State

Patentee after: MOTOROLA MOBILITY LLC

Address before: Illinois State

Patentee before: MOTOROLA MOBILITY, Inc.

TR01 Transfer of patent right

Effective date of registration: 20160315

Address after: California, USA

Patentee after: Google Technology Holdings LLC

Address before: Illinois State

Patentee before: MOTOROLA MOBILITY LLC

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20060913