• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            sunrise

            每天不斷學習,才能不斷提升自己。

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              64 隨筆 :: 0 文章 :: 92 評論 :: 0 Trackbacks

            參見:http://www.pythonclub.org/python-basic/codec

            主要介紹了python的編碼機制,unicode, utf-8, utf-16, GBK, GB2312,ISO-8859-1 等編碼之間的轉換。

            常見的編碼轉換分為以下幾種情況:
            1.自動識別字符串編碼:

            #coding:utf8
            #
            chartdet官方下載網站http://pypi.python.org/pypi/chardet

            import urllib
            import chardet

            rawdata 
            = urllib.urlopen('http://www.google.cn/').read()
            print chardet.detect(rawdata)


            輸出:

            #confidence是可信度,encoding是編碼
            {'confidence'0.99'encoding''utf-8'}


            2.unicode轉換為其他編碼

            #coding:utf8

            = u'中文'
            a_gb2312 
            = a.encode('gb2312')
            print a_gb2312

            輸出:

            中文


            3.其他編碼轉換為unicode

            #coding:utf8

            = u'中文'
            a_gb2312 
            = a.encode('gb2312')
            print a_gb2312

            #a為gb2312編碼,要轉為unicode. unicode(a, 'gb2312')或a.decode('gb2312')
            print [unicode(a_gb2312,'gb2312')]
            print [a_gb2312.decode('gb2312')]

            輸出:

            中文
            [u
            '\u4e2d\u6587']
            [u
            '\u4e2d\u6587']


            4.非unicode編碼之間的相互轉化

            #coding:utf8

            = u'中文'
            a_gb2312 
            = a.encode('gb2312')
            print a_gb2312

            #編碼1轉換為編碼2可以先轉為unicode再轉為編碼2
            a_unicode = a_gb2312.decode('gb2312')
            print [a_unicode]
            a_utf8 
            = a_unicode.encode('utf8')

            #dos不識別utf8編碼,直接輸出會是亂碼
            print [a_utf8]


            輸出:

            中文
            [u
            '\u4e2d\u6587']
            [
            '\xe4\xb8\xad\xe6\x96\x87']


            5.判斷字符串編碼

            #coding:utf8

            #isinstance(s, str) 用來判斷是否為一般字符串 
            #
            isinstance(s, unicode) 用來判斷是否為unicode 3
            #
            如果一個字符串已經是unicode了,再執行unicode轉換有時會出錯(并不都出錯) 

            def u(s,encoding):
                
            if isinstance(s,unicode):
                    
            return s
                
            else:
                    
            return unicode(s,encoding)


            6.漢字轉化為unicode編碼

            #coding:utf8

            #該方法沒看懂,先留下了
            name = '中國' 
            name 
            = name.decode('utf8')
            print name
            tmpname 
            = ""

            for c in name:
                c 
            = "%%u%04X" % ord(c)
                tmpname 
            += c

            print tmpname

            輸出結果:

            中國
            %u4E2D%u56FD










             

            posted on 2012-12-27 16:11 SunRise_at 閱讀(4218) 評論(0)  編輯 收藏 引用 所屬分類: 可愛的python
            亚洲va久久久噜噜噜久久| 久久91亚洲人成电影网站| 国产亚洲精久久久久久无码AV| 一本大道久久a久久精品综合| 久久精品国产91久久综合麻豆自制| 久久精品天天中文字幕人妻| 国产精品对白刺激久久久| 久久国产成人亚洲精品影院| 伊人热热久久原色播放www| 韩国免费A级毛片久久| 久久综合成人网| 久久国产色AV免费看| 精品久久久久久久久久中文字幕 | 久久婷婷五月综合97色直播| 伊人久久成人成综合网222| 久久精品国产亚洲AV麻豆网站| 国内精品欧美久久精品| 久久国语露脸国产精品电影| 国产午夜精品理论片久久| 久久AV高清无码| 欧美日韩久久中文字幕| 99热成人精品免费久久| 人妻精品久久久久中文字幕69| 久久久不卡国产精品一区二区| 99久久免费国产精精品| 午夜精品久久久久久久| 亚洲精品tv久久久久| 久久精品视屏| 91精品国产91久久久久久| 国产三级久久久精品麻豆三级| 精品国产99久久久久久麻豆 | 国产精品久久久久影院色| 一本久久精品一区二区| 四虎国产精品成人免费久久| 亚洲国产精品久久久久网站 | 久久婷婷激情综合色综合俺也去| 久久久久久久久久久免费精品 | 精品一区二区久久| 日韩精品久久无码人妻中文字幕 | 国产激情久久久久影院老熟女| 1000部精品久久久久久久久|