最后更新:

1MB 能存多少字? KB・MB・GB 与文字数的换算速查表

约 5 分钟阅读

先说结论: 1MB (兆字节) 大约能存 33 万个汉字 (UTF-8、按 1MB = 100 万字节换算)。如果是半角英文字母和数字,则约 100 万个字符。同样是"1MB",用什么语言书写、用哪种字符编码保存,能容纳的字数可以相差 3 倍。本文用按编码分类的速查表,精确整理 KB・MB・GB 与文字数的换算。

数据容量与文字数换算速查表 (UTF-8)

在当今 Web 和手机的标准编码 UTF-8 中,半角英文数字 1 个字符 = 1 字节,汉字 1 个字 = 3 字节。按此前提换算如下 (按 1KB = 1,000 字节的十进制换算)。

容量汉字 (3 字节/字)半角英文数字 (1 字节/字)分量参考
1KB约 333 字1,000 字一封短邮件
10KB约 3,333 字10,000 字一篇博客文章
50KB约 16,666 字50,000 字一篇短篇小说
100KB约 33,333 字100,000 字约 1/3 本文库本
1MB约 33 万字约 100 万字2-3 本长篇小说
10MB约 333 万字约 1,000 万字20-30 本长篇小说
100MB约 3,333 万字约 1 亿字一间小图书室
1GB约 3.3 亿字约 10 亿字2,000 本以上长篇小说

"50KB 是多少字?" 答案是中文约 1.6 万字。"1GB 是多少字?" 答案约 3.3 亿字。文本比图片和视频轻得多,正如手机 1GB 能装多少字中详细比较的那样,想用文字填满手机容量在现实中几乎不可能。

按编码分类: 同样 1MB 字数不同

"1MB = 多少字"没有唯一答案的最大原因,是每种字符编码给 1 个字分配的字节数不同。

字符编码汉字 1 字半角英文数字 1 字1MB 能存的汉字
UTF-83 字节1 字节约 33 万字
GBK / Shift_JIS 等传统编码2 字节1 字节约 50 万字
UTF-162 字节2 字节约 50 万字
UTF-8 的表情符号4 字节起-约 25 万个 (纯表情文本)

如果只有中文,传统的双字节编码 (2 字节/字) 比 UTF-8 (3 字节/字) 多装 1.5 倍。反过来,英文数字在 UTF-16 中要占 2 字节,所以以英文为主的文本用 UTF-8 效率最高。组合表情 (家庭表情等) 一个可见字符可达 25 字节。这套机制在字数与字节数的区别中有深入讲解。

KB 到底是 1,000 字节还是 1,024 字节

换算产生偏差的另一个原因是单位定义本身。国际单位制 (SI) 规定 1KB = 1,000 字节,但计算机内部以 2 的幂更便于处理,因此把 1,024 字节作为一个单位的习惯 (二进制前缀写作 KiB) 一直并存。

写法定义主要出现场景能存的汉字 (UTF-8)
1KB (SI)1,000 字节存储产品标注、macOS 显示约 333 字
1KiB1,024 字节Windows 属性显示 (标着 KB 实为 1,024 换算)、内存约 341 字
1MB (SI)100 万字节存储产品、流量套餐约 33.3 万字
1MiB1,048,576 字节Windows 的"MB"显示约 34.9 万字

在 Windows 中查看文件属性时的"KB"其实按 1,024 字节换算。同一个文件在 macOS 和 Windows 上显示的大小略有不同就是这个原因,换算成字数约有 2-5% 的差距。粗略估算时不必在意,但当"数字对不上"时,先怀疑这里。

用身边的文本感受容量

文本字数参考UTF-8 容量
1 条聊天消息约 50 字约 150 字节
1 条 X (原 Twitter) 帖子最多 140 字 (中日文)约 420 字节
1 封商务邮件约 500 字约 1.5KB
一篇作文约 800-2,000 字约 2.4-6KB
一篇博客文章约 3,000-5,000 字约 9-15KB
一本文库本小说约 10-15 万字约 300-450KB

一本小说的容量不到手机照片一张 (约 3MB) 的 1/10,这正是文本数据轻巧的象征。电子书阅读器能装下几千本书,原因就在这里。

实际文件会比"正文字数"更大

以上换算是只保存"纯文本"时的理论值。实际文件还会加上以下开销。

要素对容量的影响补充
换行符1 个换行 = 1-2 字节LF 为 1 字节、CRLF 为 2 字节
BOM (字节顺序标记)文件开头 3 字节 (UTF-8)是否带 BOM 取决于保存软件
Word (.docx) 等格式数十 KB 起空文档也包含格式与结构数据
HTML 标签可达正文的 1.5-3 倍标签、属性、脚本部分

例如正文 2,000 字 (约 6KB) 的文档保存为 Word 格式后通常超过 20KB。把"文本字数"和"文件大小"当作两个概念来看,就不会被换算偏差困扰。需要精确统计字数时,请使用字数统计器

数据容量与文件格式相关书籍可在 Amazon 上查找

常见问题

1MB 能存多少个汉字?
按 UTF-8 保存时,1 个汉字占 3 字节,1MB (100 万字节) 约能存 33 万个汉字。半角英文数字则约 100 万个。
50KB 是多少字?
UTF-8 的中文约 1.6 万字,半角英文数字约 5 万字,相当于一篇短篇小说。
1GB 能存多少字?
UTF-8 的中文约 3.3 亿字,超过 2,000 本长篇小说的分量。
同样的文章为什么文件大小不同?
除了字符编码 (UTF-8 / GBK 等) 造成每字字节数不同外,换行符、有无 BOM、Word 或 HTML 等格式数据也会带来差异。

分享这篇文章