搜索

首页  >  问答  >  正文

python - 为什么正常输出中文没有乱码,zip函数之后出现中文编程unicode编码的问题,我是遍历输出的啊。

阿神阿神2737 天前1221

全部回复(1)我来回复

  • typecho

    typecho2017-06-12 09:25:09

    因为zip将每两个独立的字符串, 组合成了一个元组, 而中文在元组,列表等等这些数据结构中, 是按照unicode或者十六进制存储, 所以你看到的会是这个结果, 这些不影响使用, 也不是乱码, 因为直接遍历出来, 将元素单独打印出来, 就能看到人可识别的内容了, 可以用下面的代码帮助理解:

    # coding: utf8
    a = u'你好'
    print a          # 独立打印
    
    s = []           # 创建列表, 并存入列表
    s.append(a)   
    print s          # 将整个列表打印, 看到unicode编码存储的内容
    print s[0]       # 将元素单独打印, 看到正常的内容
    
    #### 输出  ###
    你好
    [u'\u4f60\u597d']
    你好

    回复
    0
  • 取消回复