zoukankan      html  css  js  c++  java
  • 我就写个字典居然卡了两天重申一遍文字编码日你大爷

            来看这个: 

            '扣的扣的扣你母亲'.decode('utf-8').encode('gbk')

    (1)str.decode():

            用来把前边的字符串解码成unicode,因为Python内部用的是unicode。括号里需要的是字符串的编码——不是你想要的码,更不能不给参数——一般指默认编码,和文件默认编码一致,在代码开头用 #coding:编码 显式指明,或者用 u'字符串' 的形式直接转成unicode格式,直接省略decode这一步。

            不过问题是,在UliPad里只要不显式指明编码,不管怎么decode encode 加u 用unicode() 都会报错:

            SyntaxError: Non-ASCII character 'xe4' in file D:Software TokaPython 2.7.5Untitled 1.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

            看样子是只要非ASCII的字符都不能用,具体原因不明。

    (2)str.encode():

            用于将Unicode字符编码成你想要的格式。相当于先用decode拆成unicode,再用encode组合起来。至于为什么用unicode中继前边已经说了,因为Python内部用的是unicode。

            例子里的第一步已经把字符串拆成了unicode,之后我需要的是GBK编码,因为我想显示的就是中文,所以在decode的基础上再encode('gbk'),就得到了GBK编码的文字,可以正常在命令行里显示。

    (3)一些方法:

        sys.getdefaultencoding( )    当然要先导入sys模块。

        isinstance(string, unicode)   用来查看字符串是不是unicode编码。

    关门放代码:



  • 相关阅读:
    leecode练习--804、唯一摩尔斯密码词
    leecode练习--832、翻转图像
    leecode练习--561、数组拆分Ⅰ
    leecode练习--942、增减字符串匹配
    第二十篇 编程语言分类
    《英语学习》记录
    《视频笔记》记录
    《爬虫》爬取可用的免费IP
    《读书笔记》记录
    数据结构与算法之美
  • 原文地址:https://www.cnblogs.com/chihane/p/3415124.html
Copyright © 2011-2022 走看看