漢辰攻略

          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 漢辰 閱讀(13138) 評論(1)  編輯  收藏

          Feedback

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


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


          網站導航:
           
          主站蜘蛛池模板: 绍兴县| 南平市| 邓州市| 余干县| 平安县| 红河县| 葵青区| 彰化县| 富平县| 长寿区| 含山县| 涡阳县| 金山区| 鹤岗市| 大渡口区| 龙里县| 平和县| 裕民县| 石城县| 平乡县| 青阳县| 广南县| 大名县| 鲁山县| 东兴市| 鄂托克旗| 常州市| 鲁甸县| 屯门区| 页游| 平顺县| 宁国市| 齐齐哈尔市| 龙里县| 贞丰县| 宜城市| 绍兴市| 南宫市| 米林县| 铜鼓县| 饶河县|