字符编码(理论篇)

字符串类型、文本文件的内容都是由字符组成的,但凡涉及到字符的存取,

都需要考虑字符编码的问题。

人类在计算机交互时,用的都是人类能读懂的字符,如中文字符,英文字符

韩文字符等等, 二计算机只能识别二进制数。

1、 字符编码的发展史

1. 一家独大:
    计算机起源于美国,所以,最开始的时候,计算机只考虑了英文字符
        ASCII码表:
            '''
                1、只有英文字符与数字的一一对应关系
                2、一个英文字符对应1Bytes,1Bytes=8bit,8bit最多包含256个数字,可以对应256个字符,足够表示所有英文字符
                
                0 : 48
                A :65
                a : 97
            '''
            
 2 . 群雄割据
    为了让计算机能够识别中文和英文,中国人定制了GBK
        GBK编码:
            # GBK表的特点:
            1、只有中文字符、英文字符与数字的一一对应关系
             2、 一个中文字符使用两个或者两个以上的bytes记录
                2bytes = 16位 
                16位可以表示 2 ** 16 种情况
                
                '''
                    如果超过了2 ** 16,gbk就会使用一个中文字符用3个字节表示
                '''
             # Shift_JIS表的特点:
            1、只有日文字符、英文字符与数字的一一对应关系

            # Euc-kr表的特点:
            1、只有韩文字符、英文字符与数字的一一对应关系   
3. 分久必合
    为了让世界各国的字符统一起来,就诞生了unicode编码
        unicode(万国码): 统一使用2个字节进行表示
                eg:adsadsadsadsadsad
         # 1. 存在所有语言中的所有字符与数字的一一对应关系,即兼容万国字符
         
         utf-8编码(unicode的优化版本)
         '''
             把英文字符还按照一个字节表示
             中文字符还按照2个字节或者更多字节表示
         '''
      得出结论:以后我们都使用utf-8编码
    

2、 字符编码的差异

1. 如何解决乱码问题
    切换对应的编码
2. python解释器版本不同代码的差异
    python2
    python3
    
    '''
        python2诞生的时候,还没有utf8的编码,所以,python2中不能使用utf8的编码
    '''
 3. pycharm如何添加模板注释
    settings
        editor
            file and code templates
                python script
                     在这个里面写你想添加的内容
                    
  4. 编码与解码
       编码:
            # 把人类能够读懂的字符按照转成计算机能够识别的字符的过程
       解码
            # 把计算机能够读懂的字符按照转成人类能够识别的字符的过程
       如何操作?
        s = '你好啊,世界'
        # 编码
        # print(s.encode('gbk'))
        s1 = s.encode('utf8')

        # 解码
        s2 = s1.decode('utf8')
        print(s2)

字符对应的编码表

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值