zoukankan      html  css  js  c++  java
  • gb18030与utf-8

        今天在跟着嵩天老师学习词云模块的过程中遇到了编码问题:UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1:invalid start byte。百度之后,发现如下两种方法:

    一、把编码方式utf-8 修改为gb18030

    二、把原来的txt文件重新打开另存为的时候,把编码方式修改为utf-8,然后代码的encoding=‘utf-8’保持不变即可

    我都跟着做了,两种都成功了,代码和效果如下,还不错!

     1 #GovRptWordCloudv1.py
     2 import jieba
     3 import wordcloud
     4 
     5 f = open("新时代中国特色社会主义.txt",'r',encoding = "gb18030")
     6 f = open("新时代中国特色社会主义.txt",'r',encoding = "utf-8")
     7 t = f.read()
     8 f.close()
     9 ls = jieba.lcut(t)
    10 txt = " ".join(ls)
    11 w = wordcloud.WordCloud(font_path = "msyh.ttc",width =1000,height = 700,background_color = 'white')
    12 w.generate(txt)
    13 w.to_file('grwordcloud1.png')

    然后,顺便又查了gb18030与utf-8二者的区别:
            1.UTF-8:即国际通用字符编码,该编码方式囊括了世界各个国家及地区使用的字符集,尤其是对于英文字母的表示方法仅占用一个字节,很好的支持了欧美等国家的需要。优点:为了统一世界上各种编码而设计,通用性强。缺点:为了兼顾世界所有语言的字符,必须采用多位给字符编号,例如中文字符采用3字节编码方式,二gb18030采用2字节。

            2.gb18030:是新出的国家标准。这个标准由国家强制执行(也是为了保证中国信息业的地位,以及争取一定的主动权),所以所有在中国大陆销售的操作系统必须支持gb18030。现在的Gb18030不仅包含了简体和繁体汉字,支持中国少数名族文字,还包含了日韩等国的象形文字。优点:兼容性好,与以前的国标码都兼容。缺点:对英文字母需要2个字节的编码。

  • 相关阅读:
    BZOJ 2956: 模积和
    BZOJ 1113: [Poi2008]海报PLA
    停课刷题总结-给自己一点鼓励吧
    BZOJ 2751: [HAOI2012]容易题(easy)
    Vijos 1100 加分二叉树
    BZOJ 1756: Vijos1083 小白逛公园
    BZOJ 1709: [Usaco2007 Oct]Super Paintball超级弹珠
    BZOJ 1652: [Usaco2006 Feb]Treats for the Cows
    BZOJ 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚
    BZOJ 1631: [Usaco2007 Feb]Cow Party
  • 原文地址:https://www.cnblogs.com/fsy12604/p/9887398.html
Copyright © 2011-2022 走看看