WeChat Official Account Alan 5.杂记

版权声明:转载请注明出处. https://blog.csdn.net/laodaliubei/article/details/84193110

Contents

1

  1. python 编码问题 u’汉字’
  • python默认会认为源代码文件是asci编码,但是处理中文就崩溃了…解决问题之道就是要让python知道文件中使用的是什么编码形式,对于中文,可以用的常见编码有utf-8,gbk和gb2312等。只需在代码文件的最前端添加如下: # -- coding: utf-8 --
  • 但是在windows下又崩了:Windows下控制台中的编码使用的是gbk,而在代码中使用的utf-8,python按照utf-8编码打印到gbk编码的控制台下自然就会不一致而不能打印出正确的汉字。
    一种方法是保持源码文件的utf-8不变,而是在’哈’前面加个u字,也就是:
    s1=u"不要欺人太甚"
    print s1
    u表示将后面跟的字符串以unicode格式存储。python会根据代码第一行标称的utf-8编码识别代码中的汉字’哈’,然后转换成unicode对象。
  • 使用unicode对象的话,除了这样使用u标记,还可以使用unicode类以及字符串的encode和decode方法。decode是将普通字符串按照参数中的编码格式进行解析,然后生成对应的unicode对象,
s2=’哈’.decode(‘utf-8)

这时,s2就是一个存储了’哈’字的unicode对象,其实就和unicode(‘哈’, ‘utf-8′)以及u’哈’是相同的。
那么encode正好就是相反的功能,是将一个unicode对象转换为参数中编码格式的普通字符,比如下面代码:
s3=unicode(‘哈’, ‘utf-8′).encode(‘utf-8′)
s3现在又变回了utf-8的’哈’。

  1. r’string’
    r’’ 表示不转义,直接使用.
  2. 多行字符串
    ‘’’ multiple lines’’’ or \ 续行 or str=(‘multiple lines’)

猜你喜欢

转载自blog.csdn.net/laodaliubei/article/details/84193110