指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
关于各个进制之间的换算

当然可以!我们一步步来回顾这个:


🧮 十六进制字符串长度与字节数的关系

1️⃣ 一个字节(byte)是多少位(bit)?

  • 1 byte = 8 bits

2️⃣ 十六进制的一个字符表示多少位?

  • 1 个十六进制字符(如 a 或 f) = 4 bits
  • 因为十六进制 = 基数为 16 = $2^4$

3️⃣ 两个十六进制字符(如 fa)= 1 个字节

  • 所以:

    字节数 = 十六进制字符数 ÷ 2
    

🔢 举例:64 个十六进制字符怎么算

64 hex 字符 × 4 bits = 256 bits
64 hex 字符 ÷ 2 = 32 bytes

✅ 所以:

  • a3a674a11af75cc3ab6e91c8f1f12d246f4132f0fdbed4977214d11070862fa9
  • 共 64 个字符
  • 对应 32 字节(256 bits)

✅ 总结

十六进制字符数字节数(bytes)位数(bits)
16864
3216128
6432256
12864512

一个十六进制(Hex)字符表示 4 位(bits)。


📌 原因解释:

十六进制是以 16 为基数的进制系统,对应的每个字符可以表示的值是:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f

这 16 个符号,刚好等于 $2^4 = 16$,所以:

✅ 1 个十六进制字符 = 4 位(bit)


🔢 举个例子:

  • 十六进制 A = 十进制 10 = 二进制 1010
  • 十六进制 F = 十进制 15 = 二进制 1111

🔄 对照参考表:

十六进制二进制位数
000004 位
100014 位
200104 位
910014 位
a10104 位
f11114 位

所以当你看到一个 64 位的十六进制字符串,比如:

a3a674a11af75cc3ab6e91c8f1f12d246f4132f0fdbed4977214d11070862fa9

它表示的是:

  • 64 个十六进制字符 × 4 bits = 256 bits
  • 或者说 256 ÷ 8 = 32 字节(bytes)