锦衣卫密信:可见符94进制数和手机短信的加密关系

在键盘上有95个字符输入后是可以显示的,扣除空格后是94个,编码从33到126,统称可见符,所有符号按编码大小顺序如下所示:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

1、用可见符94进制数编制一条短信,最多只能发送65个汉字

手机短信每次发送的字符数是140个,因为一个汉字需要占用两个字节,所以发送汉字最多只能是70个,即使是其中包含了英文字母、数字和其他标点字符,它们也分别占据两个字节。
如果发送纯英文信息,却不是只能发送140个,而是多达160个,因为一个英文字母的编码只需要7位,所以每8个英文字母可以压缩成7个字节,140个字节就能存储160个英文字母了。

如果将70个汉字,通过使用94进制数进行编码,则至少需要171个字节,即94的171次方约等于2.54乘以10的337次方,要大于256的140次方约等于1.43乘以10的337次方。
所以直接将70个汉字使用94进制数编码后,一条短信要被划分成两条短信,反而增加通讯费用。

反过来,94的160次方约等于5乘以10的315次方,用来表示256进制数,最多只能是131位,即256的131次方约等于3乘以10的315次方。
所以如果最多只输入65个汉字,则可以使用94进制数进行编码后,达到以加密的方式发送出去,接收端再将94进制数还原成256进制,来达到解密的目的。

2、对汉字编码简单处理一下,一条短信就可以发送74个汉字了

每个汉字都包括两个字节一共16位,并且最高位一定是1,所以既然最高位恒定为1,则在发送时可以忽视它,只发送15位即可。这样原来32个字节就能压缩成30个字节。
如果压缩后的每30个字节包含原来的32个字节的信息,那么120个字节就能包含128个字节的信息了,剩下的20个新字节,还可以压缩原字节中的21个字节,合计可以压缩149个字节。
这样一条短信就可以处理74个汉字了。接收端还原时,将忽视的最高位1补上去即可。
对于单字节的英文字母或数字或其他符号,只要开辟一个没有中文占用的128个空白位置就能应付了。
使用可见符94进制数表示汉字短信后,没解密前看到的是一串纯英文的字符,解密后就是一串汉字,加密的效果还是不错的。

3、对汉字编码深入处理一下,一条短信就可以发送93个常用汉字了

用两个字节表示汉字,即使剔除最高位还剩15位,总的储存空间是32768个,实际使用的汉字没有这么多。
最常用的汉字不超过4000个,如果使用12位来表示一个汉字,那么总的储存空间还有4096个,扣除0不用,再将95个字符用于单字节字符,还剩4000个空间用来储存汉字。
如果使用12位表示一个汉字,那么原来70个汉字每个汉字16位一共有1120位,可以存放93个汉字。
将所有的汉字分成两部分:常用汉字和非常用汉字,常用汉字最多只能是4000个,其他汉字为非常用汉字。
如果一条短信全部内容都只包含常用汉字,则只需采用12位编码,一条短信最多可以编入93个汉字。
如果一条短信至少包含了一个非常用汉字,则只能采用15位编码,一条短信最多只可编入74个汉字。

“锦衣卫密信”,新推出的一个智能手机端短信管理软件,不仅可以加密你的短信,还能增加一条短信的信息量,敬请留意!

以下只是一个可见符94进制数的一个转换软件,仅供参考。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值