zoukankan      html  css  js  c++  java
  • python编码问题明白了

    核心点: 

    1. 在现在计算机系统通用的字符编码工作方式:在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或需要传输时,可以转换为UTF-8编码。

    2. decode()方法将其他编码字符转化为Unicode编码字符。encode()方法将Unicode编码字符转化为其他编码字符。

    3. ASCII码仅仅能处理英文,GB2312处理中文,全球统一有了Unicode,为了提高Unicode存储和传输性能,产生了UTF-8,它是Unicode的一种实现形式。

    4. Python2 解析器使用的默认解析编码是 ASCII,可以sys.setdefaultencoding() 设置成 utf-8.

    5. # coding=utf-8 提示编译器这个文件是 utf-8编码, 但你一定要保证文件确实是这个编码噢... 

    6. a = '卧室门是中华儿女',  a.encode("utf-8") 等价于 a.decode(defaultencoding).encode("utf-8") , 所以会报错.   【chardet.detect(a)  GB2312;  a.decode('GB2312').encode('utf-8')】  

    # 以下代码在Windows系统  CMD+R python之后的命令行执行. 
    >>> d = '思路发加上的'
    
    >>> chardet.detect(d)
    {'confidence': 0.99, 'language': 'Chinese', 'encoding': 'GB2312'}
    
    >>> d
    'xcbxbcxc2xb7xb7xa2xbcxd3xc9xcfxb5xc4'
    
    
    
    >>> d.encode('utf-8')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xcb in position 0: ordinal not in range(128)
    
    >>> d.decode('GB2312').encode('utf-8')
    'xe6x80x9dxe8xb7xafxe5x8fx91xe5x8axa0xe4xb8x8axe7x9ax84'
    
    >>> d.decode('GB2312')
    u'u601du8defu53d1u52a0u4e0au7684'
    
    >>> d.decode('GB2312')
    u'u601du8defu53d1u52a0u4e0au7684'
    
    >>> d.decode('GB2312').encode('GB2312')
    'xcbxbcxc2xb7xb7xa2xbcxd3xc9xcfxb5xc4'
    
    >>> d.encode('GB2312')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xcb in position 0: ordinal not in range(128)
    
    >>>
    

      

     参考:

    https://blog.csdn.net/apache0554/article/details/53889253 

    https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431664106267f12e9bef7ee14cf6a8776a479bdec9b9000  

  • 相关阅读:
    每日作业报告
    每日作业报告
    每日作业报告
    每日作业报告
    每日作业报告
    每日作业报告
    每日作业报告
    每日作业报告
    每日作业报告
    关系模式分解例题
  • 原文地址:https://www.cnblogs.com/huiming/p/9415461.html
Copyright © 2011-2022 走看看