• <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

            每天不斷學(xué)習(xí),才能不斷提升自己。

              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              64 隨筆 :: 0 文章 :: 92 評(píng)論 :: 0 Trackbacks

            參見(jiàn):http://www.pythonclub.org/python-basic/codec

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

            常見(jiàn)的編碼轉(zhuǎn)換分為以下幾種情況:
            1.自動(dòng)識(shí)別字符串編碼:

            #coding:utf8
            #
            chartdet官方下載網(wǎng)站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轉(zhuǎn)換為其他編碼

            #coding:utf8

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

            輸出:

            中文


            3.其他編碼轉(zhuǎn)換為unicode

            #coding:utf8

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

            #a為gb2312編碼,要轉(zhuǎn)為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編碼之間的相互轉(zhuǎn)化

            #coding:utf8

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

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

            #dos不識(shí)別utf8編碼,直接輸出會(huì)是亂碼
            print [a_utf8]


            輸出:

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


            5.判斷字符串編碼

            #coding:utf8

            #isinstance(s, str) 用來(lái)判斷是否為一般字符串 
            #
            isinstance(s, unicode) 用來(lái)判斷是否為unicode 3
            #
            如果一個(gè)字符串已經(jīng)是unicode了,再執(zhí)行unicode轉(zhuǎn)換有時(shí)會(huì)出錯(cuò)(并不都出錯(cuò)) 

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


            6.漢字轉(zhuǎn)化為unicode編碼

            #coding:utf8

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

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

            print tmpname

            輸出結(jié)果:

            中國(guó)
            %u4E2D%u56FD










             

            posted on 2012-12-27 16:11 SunRise_at 閱讀(4227) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 可愛(ài)的python
            国产精品欧美久久久久天天影视| 久久精品国产影库免费看| 狠狠干狠狠久久| 欧美粉嫩小泬久久久久久久| 漂亮人妻被中出中文字幕久久| 久久精品国产清高在天天线| 国产亚洲色婷婷久久99精品91| 思思久久好好热精品国产| 久久久91精品国产一区二区三区| 亚洲综合久久夜AV | 中文精品久久久久国产网址| 精品久久亚洲中文无码| 国内精品久久久久久中文字幕| 久久久婷婷五月亚洲97号色 | 国产精品久久久久久五月尺| 久久精品国产亚洲网站| 久久久亚洲欧洲日产国码二区| 伊人色综合九久久天天蜜桃 | 无码人妻久久一区二区三区蜜桃| 久久精品国产精品青草app| 亚洲欧美日韩久久精品第一区| 欧美激情精品久久久久久| 亚洲一本综合久久| 狠狠色丁香婷婷综合久久来| 久久久久亚洲AV无码麻豆| 日韩人妻无码一区二区三区久久99 | 99久久精品国产免看国产一区| 国产一区二区久久久| 一级做a爰片久久毛片毛片| 久久狠狠一本精品综合网| 久久精品中文无码资源站| 久久久久免费看成人影片| 日韩人妻无码精品久久久不卡| 亚洲人成精品久久久久| 久久夜色精品国产噜噜亚洲AV| 性欧美丰满熟妇XXXX性久久久 | 99久久精品国产一区二区| 99久久国产亚洲高清观看2024 | 欧美丰满熟妇BBB久久久| 久久精品无码一区二区无码 | 亚洲中文久久精品无码ww16|