Unicode、UTF-8、GB2312、GBK和GB18030都是用于将文本数据编码成二进制数据进行传输和存储的标准。
Unicode
Unicode是一种贯穿始终的字符集标准,它在不同的编码方式下可以翻译成不同的二进制数据。Unicode对于所有的文字都有唯一的编码,包括英文、中文、拉丁文、凯尔特文等等世界上所有的文字。Unicode 编码是一种固定的编码方式,每个字符都以两个字节的方式来表示。但是,这种编码方式对于只表示小写英文字母,数字和标点符号的文本来说,会浪费很多字节的空间。
UTF-8
UTF-8是一种变长编码方式,它可以根据字符所处的范围来调整编码方式,每个字符可以用1到4个字节进行编码。这种编码方式可以表示所有的Unicode字符,而且对于只包含英文字母、数字、标点符号的文本,采用UTF-8编码后可以节约存储空间。
GB2312
GB2312是中国的汉字编码标准,它使用两个字节来表示一个汉字,可以表示7425个常用汉字和其它符号。
GBK
GBK是GB2312的扩展版本,是国家标准,也是Windows系统默认使用的中文编码。GBK编码使用2个字节来表示中文字符,可以表示21003个汉字和其它符号,包括少数民族汉字和日韩汉字。
GB18030
GB18030是中华人民共和国国家标准GB 18030-2005《信息技术 中文编码字符集》,是现阶段最新的中文内码标准。GB18030支持Unicode标准,同时兼容GB2312和GBK。GB18030最大的特点是支持4个字节的编码,可以表示包括外国字符在内的所有字符。
综上所述,UTF-8是一种通用的编码方式,可以表示所有的Unicode字符;GB2312和GBK是中文编码标准,用于表示汉字和简体中文符号;GB18030是最新的中文编码标准,支持四个字节的编码体系,能够表示包括外国字符在内的所有字符。
下面是两个编码转换的示例:
示例一
有一个包含中文字符的文本文件,其编码格式是GBK。现在需要将该文件转换为UTF-8编码。
- 首先使用记事本打开该文件
- 选择“文件” -> “另存为”菜单项
- 在编码格式中选择UTF-8
- 保存即可
示例二
有一个内部编码为UTF-8的网页,其中包含一些特殊的字符,显示时会出现乱码。现在需要将这些特殊字符转换为中文字符。
- 打开这个网页
- 在浏览器中打开F12开发者工具控制台
- 输入以下命令:
decodeURIComponent("中文")
其中参数 “中文” 为需要转换的编码内容,这个值可以根据实际情况进行替换。
- 在控制台中按回车键,可以看到此时返回的结果已经是中文文本了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:unicode utf-8 gb18030 gb2312 gbk各种编码对比 - Python技术站