漢辰攻略

          The palest ink is better than the best memory.

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            8 Posts :: 1 Stories :: 3 Comments :: 0 Trackbacks

          python 有str object 和 unicode object 兩種字符串, 都可以存放字符的字節編碼,但是他們是不同的type,這一點很重要,也是為什么會有encode 和decode。

          encode 和 decode在pyhton 中的意義可表示為

                                                                            encode
                                                        unicode -------------------------> str
                                                        unicode <--------------------------str
                                                                            decode
          幾種常用法:
          str_string.decode('codec') 是把str_string轉換為unicode_string, codec是源str_string的編碼方式
          unicode_string.encode('codec') 是把unicode_string 轉換為str_string,codec是目標str_string的編碼方式
          str_string.decode('from_codec').encode('to_codec') 可實現不同編碼的str_string之間的轉換
          比如:

          >>> t='長城'
          >>> t
          '\xb3\xa4\xb3\xc7'
          >>> t.decode('gb2312').encode('utf-8')
          '\xe9\x95\xbf\xe5\x9f\x8e'

          str_string.encode('codec') 是先調用系統的缺省codec去把str_string轉換為unicode_string,然后用encode的參數codec去轉換為最終的str_string. 相當于str_string.decode('sys_codec').encode('codec')。

          unicode_string.decode('codec') 基本沒有意義,unicode 在python里只用一種unicode編碼,UTF16或者UTF32(編譯python時就已經確定),沒有編碼轉換的需要。 

          注:缺省codec在site-packages下的sitecustomize.py文件中指定,比如

          import sys
          sys.setdefaultencoding(
          'utf-8')



           

          posted on 2008-09-09 15:49 漢辰 閱讀(13142) 評論(1)  編輯  收藏

          Feedback

          # re: Python 字符編碼轉換要訣 2016-03-16 15:27 可廣泛你
          發過發  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 广德县| 阜新市| 无棣县| 仪陇县| 加查县| 繁昌县| 遂宁市| 芷江| 大名县| 德阳市| 鄂伦春自治旗| 彭泽县| 沈丘县| 马龙县| 西充县| 电白县| 博爱县| 黎川县| 涞水县| 屏边| 涪陵区| 柘城县| 常熟市| 军事| 商丘市| 台南市| 宁德市| 卓尼县| 响水县| 广河县| 沭阳县| 扶绥县| 延庆县| 泰宁县| 贵州省| 易门县| 丘北县| 夏河县| 于田县| 大姚县| 娄底市|