<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 閱讀(25731) 評論(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 編碼進行處理。
    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
    錯誤
    主站蜘蛛池模板: 国产国产成年年人免费看片| 亚洲成a人片在线观看久| 亚洲Av永久无码精品三区在线| 日韩亚洲综合精品国产| 日本一区免费电影| 亚洲AV无码一区二区一二区| 免费精品一区二区三区在线观看| 中文字幕在线观看亚洲视频| 最近中文字幕免费mv视频7| 亚洲日韩国产欧美一区二区三区 | 一级一黄在线观看视频免费| 亚洲精品国产自在久久| AAAAA级少妇高潮大片免费看| 亚洲精品高清无码视频| 午夜精品射精入后重之免费观看 | 美女又黄又免费的视频| 久久国产色AV免费看| 亚洲综合一区二区精品导航| 四虎在线最新永久免费| 亚洲一卡2卡3卡4卡5卡6卡| 日韩免费一级毛片| 一级毛片在线免费播放| 亚洲va无码手机在线电影| 色影音免费色资源| 亚洲av综合色区| 永久黄色免费网站| 亚洲熟妇无码AV不卡在线播放| 一区二区三区亚洲视频| 免费播放在线日本感人片| 亚洲一级毛片免费在线观看| 久久国产免费观看精品3| 亚洲熟妇自偷自拍另欧美| 亚洲毛片av日韩av无码| 99热这里只有精品6免费| 亚洲天然素人无码专区| 国产午夜亚洲精品午夜鲁丝片| 69精品免费视频| 欧美日韩亚洲精品| 亚洲AV第一页国产精品| 在线看片人成视频免费无遮挡| 亚洲精品综合在线影院|