<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
       :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

    [轉]Python的ASCII, GB2312, Unicode , UTF-8

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

    將得到
    u'\u4f60\u597d',

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

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

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

    它是 “你好”的UTF-8編碼結果。

    python中使用 unicode的關鍵:unicode是一個類,函數unicode(str,"utf8")從utf8編碼(當然也可以是別的編碼)的字符串str生成 unicode類的對象,而函數unc.encode("utf8")將unicode類的對象unc轉換為(編碼為)utf8編碼(當然也可以是別的編碼)的字符串。于是,編寫unicode相關程序,需要做的事情是 * 獲取數據(字符串)時,用unicode(str, "utf8")生成unicode對象 * 在程序中僅使用unicode對象,對程序中出現的字符串常量都以u"字符串"的形式書寫 * 輸出時,可將unicode對象轉換為任意編碼輸出,使用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")
           ???

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

    Powered by ScribeFire.


    評論

    # re: [轉]Python的ASCII, GB2312, Unicode , UTF-8  回復  更多評論   

    2011-09-17 15:41 by faicker
    錯誤
    主站蜘蛛池模板: 国产亚洲真人做受在线观看| 亚洲成人影院在线观看| 亚洲91av视频| 久9久9精品免费观看| 亚洲精选在线观看| 182tv免费视视频线路一二三| 亚洲一区综合在线播放| 午夜精品免费在线观看| 亚洲视频在线观看网址| 18成禁人视频免费网站| 2020年亚洲天天爽天天噜| 日韩吃奶摸下AA片免费观看| 亚洲精品国产高清在线观看| 日本成人免费在线| 国产亚洲精品欧洲在线观看| 亚洲国产成人久久综合区| 国产真人无码作爱免费视频| 久久夜色精品国产亚洲AV动态图| 欧洲人成在线免费| 亚洲成人一级电影| 国产一区二区视频免费| 中文字幕手机在线免费看电影 | 成人久久久观看免费毛片| www.亚洲精品| 性xxxxx大片免费视频| 亚洲一欧洲中文字幕在线| 国产在线播放免费| a级毛片毛片免费观看久潮喷| 精品亚洲aⅴ在线观看| 日韩高清在线高清免费| 两个人看的www免费高清| 久久久久亚洲Av无码专| 国产男女猛烈无遮挡免费视频| 成人无码精品1区2区3区免费看| 久久精品国产精品亚洲毛片| 国产亚洲精品免费| 99视频在线看观免费| 国产精品亚洲а∨无码播放麻豆| 亚洲av永久无码精品漫画| 四虎免费在线观看| 十八禁视频在线观看免费无码无遮挡骂过 |