zoukankan      html  css  js  c++  java
  • 报错处理(UnicodeEncodeError: 'gbk' codec can't encode character 'xa0' in position 2: ill egal multibyte sequence)

    参照文【https://blog.csdn.net/Dillon2015/article/details/53204955】的说法,

    第一个错

    • UnicodeEncodeError:'gbk' codec can't encode character 'xa9' in position 0:illegal multibyte sequence
    • 这个错误,网上给出的解释是:
    • 某些软件如notepad,在保存一个以UTF-8编码的文件时, 会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。
    • 因此我们在读取时需要自己去掉这些字符,python中的codecs module定义了这个常量:
    • 1 import io
      2 import sys
      3 #这里判断下,把三个不可见的字符去除掉
      4 if data[:3] == codecs.BOM_UTF8:
      5     data = data[3:]
      6 print(data.decode('utf-8'))

    第二个错

    • UnicodeEncodeError:'gbk' codec can't encode character 'xa0' in position 0:illegal multibyte sequence
    • 看完贴子【https://blog.csdn.net/jim7424994/article/details/22675759#】
    • 后,才知道,原来是python的print()方法的问题。
    • 在python中, print()方法在Win7的默认编码是gbk,它在打印时,并不是所有的字符都支持的。
    • 而且这个问题一般也就是在cmd中才会有。 在cmd中是改变标准输出编码:

    1 import os,sys,io 2 sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030')

    使用上面这两句即可解决在CMD模式下运行出错的状态

    编码名称用途
    utf8 所有语言
    gbk 简体中文
    gb2312 简体中文
    gb18030 简体中文
    big5 繁体中文
    big5hkscs 繁体中文

     

     

    不是所有的成功都是坐享其成
  • 相关阅读:
    JS 中如何判断字符串类型的数字
    使用script的src实现跨域和类似ajax效果
    JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)
    IOS上架截屏 屏幕快照
    IOS 证书失效
    80端口占用
    PHP环境 PDOException PDOException: could not find driver
    分布式部署
    AES 加密算法 跨语言
    AES 加密填充 PKCS #7
  • 原文地址:https://www.cnblogs.com/Skyda/p/9179963.html
Copyright © 2011-2022 走看看