<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    海上月明

    editer by sun
    posts - 162, comments - 51, trackbacks - 0, articles - 8
       :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

    [轉(zhuǎn)]Python的ASCII, GB2312, Unicode , UTF-8

    Posted on 2008-01-20 14:54 pts 閱讀(25732) 評論(1)  編輯  收藏 所屬分類: Python
    李李 - 網(wǎng)易博客
    Python的ASCII, GB2312, Unicode , UTF-8
    ASCII 是一種字符集,包括大小寫的英文字母、數(shù)字、控制字符等,它用一個字節(jié)表示,范圍是 0-127 Unicode分為UTF-8和UTF-16。
    UTF-8變長度的,最多 6 個字節(jié),小于 127 的字符用一個字節(jié)表示,與 ASCII 字符集的結(jié)果一樣,ASCII 編碼下的英語文本不需要修改就可以當(dāng)作 UTF-8 編碼進(jìn)行處理。
    Python 從 2.2 開始支持 Unicode ,函數(shù) decode( char_set )可以實現(xiàn) 其它編碼到 Unicode 的轉(zhuǎn)換,函數(shù) encode( char_set )實現(xiàn) Unicode 到其它編碼方式的轉(zhuǎn)換。
    比如
    ("你好").decode( "GB2312")

    將得到
    u'\u4f60\u597d',

    即 "你"和“好"的 Unicode 碼分別是 0x4f60 和 0x597d

    再用
    (u'\u4f60\u597d').encode("UTF-8")

    將得到
    '\xe4\xbd\xa0\xe5\xa5\xbd'

    它是 “你好”的UTF-8編碼結(jié)果。

    python中使用 unicode的關(guān)鍵:unicode是一個類,函數(shù)unicode(str,"utf8")從utf8編碼(當(dāng)然也可以是別的編碼)的字符串str生成 unicode類的對象,而函數(shù)unc.encode("utf8")將unicode類的對象unc轉(zhuǎn)換為(編碼為)utf8編碼(當(dāng)然也可以是別的編碼)的字符串。于是,編寫unicode相關(guān)程序,需要做的事情是 * 獲取數(shù)據(jù)(字符串)時,用unicode(str, "utf8")生成unicode對象 * 在程序中僅使用unicode對象,對程序中出現(xiàn)的字符串常量都以u"字符串"的形式書寫 * 輸出時,可將unicode對象轉(zhuǎn)換為任意編碼輸出,使用str.encode("some_encoding")

    >>> unicode("你好", "utf8")
           u'\u4f60\u597d'

    >>> x = _

    >>> type(x)

    >>> type("你好")

    >>> x.encode("utf8")
           '\xe4\xbd\xa0\xe5\xa5\xbd'

    >>> x.encode("gbk")
           '\xc4\xe3\xba\xc3'

    >>> x.encode("gb2312")
           '\xc4\xe3\xba\xc3'

    >>> print x
           你好

    >>> print x.encode("utf8")
           你好

    >>> print x.encode("gbk")
           ???

    以上是測試結(jié)果(Ubuntu 6.06,locale為utf8),注意type(x)和type("你好")的區(qū)別。從編碼上可以看出utf8編碼與gbk不同。在utf8的 locale設(shè)置下,打印x按該環(huán)境變量編碼(我猜我猜我猜猜猜),而打印x.encode("gbk")則是亂碼。

    Powered by ScribeFire.


    評論

    # re: [轉(zhuǎn)]Python的ASCII, GB2312, Unicode , UTF-8  回復(fù)  更多評論   

    2011-09-17 15:41 by faicker
    錯誤
    主站蜘蛛池模板: 亚洲高清中文字幕免费| 国产亚洲女在线线精品| 亚洲av无码一区二区三区观看| 亚洲午夜一区二区三区| 草久免费在线观看网站| 99在线视频免费观看视频| 久久久久亚洲精品中文字幕 | 国产亚洲av人片在线观看| 国产精品高清视亚洲精品| 91成人免费观看网站| 国产亚洲精品资源在线26u| 国产青草亚洲香蕉精品久久 | 中文字幕一区二区三区免费视频| 四虎永久在线观看免费网站网址 | 福利免费在线观看| 日韩va亚洲va欧洲va国产| 免费的黄色网页在线免费观看| 91精品成人免费国产片| 亚洲国产女人aaa毛片在线| 亚洲精品偷拍视频免费观看| 免费羞羞视频网站| 亚洲理论片在线观看| 久久精品视频免费| 亚洲色中文字幕无码AV| 特色特黄a毛片高清免费观看| 亚洲综合无码精品一区二区三区| 一区二区三区在线免费看| 亚洲国产精品SSS在线观看AV| 99xxoo视频在线永久免费观看| 国产成A人亚洲精V品无码| 国产成人yy免费视频| 亚洲AV无码AV日韩AV网站| 特级淫片国产免费高清视频| xxxx日本在线播放免费不卡| 免费大片黄手机在线观看| jzzijzzij在线观看亚洲熟妇| 精品久久免费视频| 中文字幕在线免费视频| 亚洲av乱码一区二区三区香蕉| 国产gav成人免费播放视频| 免费看一级一级人妻片|