计算机基础知识第七期——进制与编码


计算机基础知识第七期——进制与编码

一、进制转换

计算机底层只认 二进制(0/1),但为了人类读写方便,常用:

– 二进制(Binary): 0, 1 ,底 2

– 十进制(Decimal): 0~9 ,底 10

– 八进制(Octal): 0~7 ,底 8

– 十六进制(Hex): 0~9, A~F ,底 16

1. 十进制 → 其他进制

除基取余,逆序排列

– 除以目标进制,记录余数

– 直到商为 0,把余数从下往上读

例:十进制 25 → 二进制

25 ÷ 2 = 12 … 1

12 ÷ 2 = 6  … 0

6 ÷ 2  = 3  … 0

3 ÷ 2  = 1  … 1

1 ÷ 2  = 0  … 1

结果:11001

2. 其他进制 → 十进制

按位展开 × 权值相加

例:二进制 11001 → 十进制

1×2⁴ + 1×2³ + 0×2² + 0×2¹ + 1×2⁰

= 16 + 8 + 0 + 0 + 1 = 25

3. 二进制 ↔ 十六进制(最常用)

– 4 位二进制 = 1 位十六进制

– 从右往左分组,不足补 0

例:

二进制 11001 → 分组 0001 1001 → 十六进制 19

二、常见编码方式

编码 = 把字符/数字 → 计算机能存的二进制

1. ASCII

– 美国信息交换标准码

– 只包含:英文字母、数字、符号

– 1 字节(8 位),范围 0~127

– 缺点:不支持中文

2. GB2312 / GBK / GB18030

– 中文国家标准编码

– GB2312:简体中文常用字

– GBK:扩展,包含繁体、生僻字

– GB18030:更大字符集,兼容所有汉字

– 特点:中文系统早期常用,与 ASCII 不兼容

3. Unicode(统一码)

目标:全球所有语言用一套编码

常见实现:

– UTF-8:互联网最主流

– 英文 1 字节,汉字 3 字节

– 兼容 ASCII,无乱码风险

– UTF-16:Windows 内核、Java 常用

– UTF-32:固定 4 字节,浪费空间

4. Base64

– 不是字符编码,是二进制转文本的编码

– 把任意数据转成 A-Z、a-z、0-9、+/ 共 64 个可打印字符

– 用途:图片转字符串、URL 传输、邮件附件

5. URL 编码

– 把特殊字符(如空格、中文、&、=)转成  %XX  形式

– 例: 中文  →  %E4%B8%AD%E6%96%87 

– 用于网址、表单提交

简单总结

– 进制核心:除基取余、按权展开

– 编码核心:

– 英文用 ASCII

– 中文早期用 GBK

– 现在全球统一用 UTF-8

– 数据传输用 Base64 / URL 编码


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注