不同编码(GB2312, UTF-8, UTF-16)下中文内容的占用大小的区别
楔子
有一次 一个人问 有什么编码能使用一个字节存储中文 当然 结果是否定的 中文没法做到一个字节存储
可是 如果是压缩呢 于是有此测试
结果
直接放结果 数据单位是字节
文章 (中文/全部字数)/编码 | GB2312 | UTF-16注1 | UTF-8注2 | GZIPed UTF-16 | GZIPed UTF-8 |
---|---|---|---|---|---|
Wiki的【量子力学】词条的源码 (13135/32873) | 43,782注3 | 66,436 | 59,111 | 27,491 | 27,282 |
《共产党宣言》 (30352/35993) | 62,594 | 64,634 | 92,670 | 32,554 | 38,593 |
注1 UTF-16-LE-DOS 这也就是Windows记事本的Unicode保存出来的编码
注2 UTF-8-UNIX
注3 此编码缺一些繁体字,用相应的简化字代替。
结论
- 对于中英文混杂的情况 UTF-8在大小上占优势 对于中文占主要的情况 UTF-16占优势
- 压缩后 UTF-8和UTF-16在大小上区别不明显
- 对于大段内容(至少几万字罢) 靠压缩能做到一个字节一个汉字
或者您可以把评论发在别处,添加指向本页的连接,然后把网址告诉我:
本文标题:不同编码(GB2312, UTF-8, UTF-16)下中文内容的占用大小的区别
文章作者:Chris
发布时间:2015-02-13
最后更新:2022-03-23
原始链接:https://chriszheng.science/2015/02/13/Different-coding-for-chinese/
版权声明:本博客所有文章除特别声明外,均采用 CC BY 4.0 许可协议。转载请注明出处!
分享