计算机基础-存储单位

存储单位换算

计算机中一切数据最终都是 0 和 1(二进制),最小单位是 bit(位)。

1 bit(位) = 一个 0 或 1

1 Byte(字节) = 8 bit ← 这是最基本的存储单元

1 KB = 1024 Byte ← 约一千字节

1 MB = 1024 KB ← 约一百万字节

1 GB = 1024 MB ← 约十亿字节

1 TB = 1024 GB ← 约一万亿字节

换算关系:

1 KB = 1024 B = 2^10 B

1 MB = 1024 KB = 2^20 B = 1,048,576 B

1 GB = 1024 MB = 2^30 B = 1,073,741,824 B

速记口诀:每上一级乘以 1024(2 的 10 次方)。

注意:硬盘厂商用 1000 进制标注容量(所以买的 512GB 硬盘实际只有约 476 GiB),但编程中一律使用 1024 进制。

计算机只认识数字,要存储文字就需要「编码」把每个字符映射成数字。

常见编码及占用空间:

ASCII 编码(英文字符):

每个英文字母 / 数字 / 符号 = 1 字节

如 'A' = 65,'a' = 97,'0' = 48

UTF-8 编码(国际通用,前端最常用):

英文字母 / 数字 = 1 字节

中文汉字 = 3 字节

Emoji 表情 = 4 字节

UTF-16 编码(JavaScript 内部使用):

大部分字符(含中文)= 2 字节

罕见字符 / Emoji = 4 字节

实际计算练习

一篇 400 字的纯中文文章占多少内存?

假设用 UTF-8 编码:

400 个汉字 × 3 字节/汉字 = 1200 字节 = 1.17 KB

假设用 UTF-16 编码(JS 字符串内部):

400 个汉字 × 2 字节/汉字 = 800 字节 = 0.78 KB

问:一张 1920×1080 的未压缩图片占多少空间?

像素数:1920 × 1080 = 2,073,600 像素

每像素颜色(RGB):3 字节(红/绿/蓝各 1 字节,即 24 位色)

如果有透明度(RGBA):4 字节(加 1 字节 Alpha 通道)

未压缩大小:

RGB: 2,073,600 × 3 = 6,220,800 字节 ≈ 5.93 MB

RGBA: 2,073,600 × 4 = 8,294,400 字节 ≈ 7.91 MB

问:前端上传限制 5MB,最多能传多少字的文本?**

5 MB = 5 × 1024 × 1024 = 5,242,880 字节

纯英文:5,242,880 ÷ 1 = 5,242,880 个字符(约 520 万字)

纯中文(UTF-8):5,242,880 ÷ 3 = 1,747,626 个字符(约 175 万字)

前端开发中的实用对照表

| 数据类型 | 典型大小 | 说明 |

| 一个英文字符 | 1 B | ASCII / UTF-8 |

| 一个中文汉字 | 3 B(UTF-8) | 前端传输通常用 UTF-8 |

| 一个 Emoji | 4 B | UTF-8 编码 |

| 一条短信(70 字) | ~210 B | UTF-8 中文 |

| 一篇文章(400 字) | ~1.2 KB | UTF-8 中文 |

| 一个小图标(favicon) | 1-5 KB | .ico / .png |

| 一张 UI 切图 | 50-300 KB | 优化后的 PNG/WebP |

| 一张手机照片 | 2-5 MB | JPEG |

| 一首 MP3 歌曲 | 3-8 MB | 128-320kbps |

| 一部打包后的前端项目(JS+CSS) | 200KB - 2MB | Gzip 后通常 < 500KB |

| 一个 node_modules 目录 | 200MB - 1GB+ | 这就是为什么 node_modules 是黑洞 |

网速与带宽

网速单位通常是 bit(位),而文件大小用 Byte(字节):

100 Mbps 宽带 = 100 Megabit per second

实际下载速度 = 100 ÷ 8 = 12.5 MB/s

常见换算:

100 Mbps 宽带 → 最快约 12.5 MB/s 下载速度

1000 Mbps(千兆) → 最快约 125 MB/s

前端性能指标参考:

首页加载总资源 < 1MB(未压缩)为优秀

单个 JS bundle < 250KB(Gzip 后)为合理

接口响应时间 < 200ms 用户无感知

图片建议使用 WebP 格式,体积比 PNG 小 30-50%

相关推荐
之歆4 天前
DAY_17深度博客:CSS 响应式布局 · BFC · JavaScript 完全指南(上)
javascript·js
TA远方5 天前
【JavaScript】Promise对象使用方式研究和理解
javascript·编程·脚本·web·js·promise·委托
我命由我123457 天前
前端开发概念 - 无障碍树
javascript·css·笔记·学习·html·html5·js
苦夏木禾8 天前
URL 类 详解
node.js·js
T畅N10 天前
审批流设计器(前端)
前端·elementui·vue·html·流程图·js
树欲静·而风不止12 天前
拿 DeepSeek 的免费对话搓了个 Everything 的静态 WebUI
ai·js
REDcker13 天前
浏览器端Web程序性能分析与优化实战 DevTools指标与工程清单
开发语言·前端·javascript·vue·ecmascript·php·js
爱上好庆祝13 天前
学习js的第五天
前端·css·学习·html·css3·js
捉鸭子14 天前
某音a_bogus vmp逆向
爬虫·python·web安全·node.js·js