1. 程式人生 > >WeChat Official Account Alan 5.雜記

WeChat Official Account Alan 5.雜記

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’)