• GB2312,GBK,GB18030,UTF8四种汉字编码标准有什么差别和联系


    

    从GB2312、GBK 到 GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有同样的编码,后面的标准支持很多其它的字符。在这些编码中,英文和中文能够统一地处理。

    区分中文编码的方法是高字节的最高位不为 0。

    依照程序猿的称呼,GB2312、GBK 到 GB18030 都属于双字节字符集 (DBCS)。

    下面是这四种字符集的包括关系:GB2312 < GBK < GB18030 < UTF8


    -------------------------------------------------------------------------------------------

    能够參考这个链接  http://www.fmddlmyy.cn/text24.html

    -------------------------------------------------------------------------------------------

    1980年的GB2312一共收录了7445个字符,包含6763个汉字和682个其他符号。

    1995年的汉字扩展规范GBK1.0收录了21886个符号,包含21003个汉字和883个其他符号。

    GB18030有两个版本号:GB18030-2000和GB18030-2005。GB18030-2000是GBK的代替版本号,它的主要特点是在GBK基础上添加了CJK统一汉字扩充A的汉字。GB18030-2005的主要特点是在GB18030-200初级上添加了CJK统一汉字扩充B的汉字。


    否则在处理部分文件时,进行转换编码转换的时候。会出现转不了的情况,就会报错。

    比方在PYTHON里,

    for l in open('abc_gb18030.txt'):
        ls = l.rstrip('
    ').decode('gbk').encode('utf8').split('	')
        print ls
    abc_gb18030.txt是GB18030编码,在代码里。先转成了GBK,然后又转成了UTF8,由于在向GBK转换的时候,是又一个较大字符集往小的字符集转,所以就会报错。

    
  • 相关阅读:
    Java 线程池原理分析
    基于 Java NIO 实现简单的 HTTP 服务器
    Java NIO之选择器
    Java NIO之套接字通道
    Django【基础篇-1】
    paramiko_sftp封装
    python random模块生成随机验证码
    Python3 os与sys模块用法
    python生成器并行实例
    python装饰器无参及有参案例
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6885219.html
Copyright © 2020-2023  润新知