字符、字节、位等之间的转换

前段时间写加密RSA算法,期间有个密钥长度问题。密钥长度决定可加密的字段的长度,涉及到字节字符和位之间的转换。当时就有点迷糊,表情就是这样的。


黑脸+懵

然后我决定总结一下,结果如下:

bit(位),也就是比特位,简称b,计算机数据的最小单位,数据存储的最小单位。每个二进制数字0或者1就是1个位;

Byte(字节),简称B。

B与b不同,注意区分,KB是千字节,Kb是千比特位。
1B=8b
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB

字符(汉字和汉字标点符号都算字符)

ASCII码:一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值-128,最大值127。如一个ASCII码就是一个字节。

UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节

Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点占两个字节

然后说一下rsa密钥长度对应的加密字段的长度。

计算公式是:密钥长度位数转化成字节数减11(具体为啥减11不大清楚)

1024位密钥可加密长度为117字节

2048位密钥可加密长度为245字节

目前查到的只有这些,有错误的欢迎大家留言改正!!!


LcFireRabbit

本次总结完毕(@LcFireRabbit)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 0x01 目录 常见编码: ASCII编码 Base64/32/16编码 shellcode编码 Quoted-p...
    H0f_9阅读 13,066评论 2 17
  • 1.计算机出现以前的密码 这篇文章旨在浅显易懂的介绍标题所述的各个算法概念与应用,文中没有数学公式。在主要概念出现...
    ZIJIAN94阅读 1,959评论 0 2
  • 吾儿离家求学一年有余,久未谋面,甚是想念!好在科技昌明,每日都可以微信,视频,聊解相思之苦!然则你已开学上课,我亦...
    飘渺伊人阅读 730评论 0 0
  • 阅读一本书,与书中的文字产生怎样的思想碰撞,有时候真的是看阅读当下的心境。 整个国庆假期,在自我否定中度过。有两三...
    小肆小姐阅读 280评论 0 3
  • 其实一见钟情对于我的人生来说还没有过,但是就在那一瞬间突然爱上一个人对于我的人生简直是一大惊喜。 他是复读生,也是...
    易大壳阅读 1,124评论 2 2