zoukankan      html  css  js  c++  java
  • python3出现转码问题的总结

    对于此(类)问题:

    (1)出现UnicodeEncodeError –> 说明是Unicode编码时候的问题;

    (2) ‘gbk’ codec can’t encode character –> 说明是将Unicode字符编码为GBK时候出现的问题;

    此时,往往最大的可能就是,本身Unicode类型的字符中,包含了一些无法转换为GBK编码的一些字符。

    解决办法是:

    • 方案1:

    在对unicode字符编码时,添加ignore参数,忽略无法无法编码的字符,这样就可以正常编码为GBK了。

    对应代码为:

    gbkTypeStr = unicodeTypeStr.encode(“GBK“, ‘ignore’);
    • 方案2:

    或者,将其转换为GBK编码的超集GB18030 (即,GBK是GB18030的子集):

    gb18030TypeStr = unicodeTypeStr.encode(“GB18030“);

    对应的得到的字符是GB18030的编码。

    【题外话】

    对于上述中,将原先的utf-8的字符转换为Unicode的时候,其实更加安全的做法,也可以将:

    titleUni = titleHtml.decode(“UTF-8”);

    替换为:

    titleUni = titleHtml.decode(“UTF-8”, ‘ignore’);

    这样可以实现,即使对于那些,相对来说是无关紧要的一些特殊字符,也可以成功编码,避免编码出错,提高程序的健壮性。

  • 相关阅读:
    gmap 整理
    记录一次mybatis genertor使用以及mapper扫描遇见的问题
    mysql 记录
    NOIP2018Day1!!!题目出炉!!!
    图论——倍增求LCA
    干货系列——模板 之 图论1
    数学专题1
    动态规划——背包问题1:01背包
    图论——最短路——Dijkstra算法
    数据结构——并查集
  • 原文地址:https://www.cnblogs.com/xiaosongbiog/p/7436059.html
Copyright © 2011-2022 走看看