字符、字节、比特等之间的转换
最编程
2024-05-05 19:37:22
...
前段时间写加密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)
推荐阅读
-
字符、字节、比特等之间的转换
-
比特、字节和字符之间的区别
-
比特、字节、单词和字符之间的关系和区别
-
计算机中字节、字、比特、白比特等单位之间的换算关系
-
字节、字符、位、位、字节之间的关系
-
比特字节和各种字母(比特、字节、字符和十六进制)之间的关系,常用编码格式
-
位、字节、WORD、DWORD 的区别和联系 - Unicode 和 ANSI 的区别就像输入法中 "全宽 "和 "半宽 "的区别一样。 由于不同的 ANSI 编码有不同的标准(不同的字符集),对于给定的多字节字符串,我们必须知道它使用的是哪种字符集,才能知道它包含哪些 "字符"。对于 UNICODE 字符串来说,无论环境如何,它所代表的 "字符 "内容始终是相同的。Unicode 有一个统一的标准,定义了世界上大多数字符的编码,因此拉丁文、数字、简体中文、繁体中文和日文都可以存储在一个编码中。统一码是一个统一的标准,定义了世界上大多数字符的编码。 比特(Bit)和字节(Byte)的区别:例如USB2.0 标准接口的传输速率为 480Mbps,有一些人误认为是每秒 480 兆比特,同样网络带宽为 2MB,就容易误认为是每秒 2 兆比特。其实,480Mbps 应该是 480 兆比特/秒或 480 兆字节/秒,它等于 "60 兆字节/秒";同样,2MB,应该是 256 兆字节/秒。 Bit 和 Byte 译为 "比特",都是数据计量单位,比特="位 "或 "比特"。 Byte = 字节,即 1byte = 8bits,两者的换算关系为 1:8。 Mbps = mega bits per second(兆位/秒)是速率单位,因此 2M 带宽应为 2 兆位/秒,即 2MBps。MB = 兆字节(Megabytes,兆字节)是单位量,1MB/S(兆字节/秒)= 8MBPS(兆字节/秒)。 通常所说的硬盘容量是指 40GB、80GB、100GB,其中的 B 是指 Byte 也称为 "字节"。 1 KB=1024 字节 1 MB=1024 KB=1024*1024 字节 1 GB=1024 MB=1024*1024*1024 字节 例如,以前所谓的 56KB MODEM 转换过来的 56KBps 除以 8 就是 7Kbyte,所以真正从网上下载文件存在硬盘上的速度也是每秒 7Kbyte;也就是说,用 B 表示传输速度一般指 Bit;用 B 表示容量一般指 Byte。比特、字节、WORD、DWORD 的本质。
-
波特率、比特、字、千字节、兆字节和千兆字节之间的转换
-
计算机中比特、字节、K、M 和 G 之间的转换
-
文件与字节数组之间的转换