代码之家  ›  专栏  ›  技术社区  ›  Lasse Espeholt

在Python 3.0中,标准库中的所有内容都将字符串视为unicode吗?

  •  11
  • Lasse Espeholt  · 技术社区  · 17 年前

    现在Python(3.0版)是基于unicode的,我对标准库的行为有点困惑。像CGI和urllib这样的模块是使用unicode字符串,还是使用新的“字节”类型,只提供编码数据?

    3 回复  |  直到 17 年前
        1
  •  12
  •   pdc    17 年前

    从逻辑上讲,很多东西,如MIME编码的邮件消息、URL、XML文档等,都应该作为 bytes 不是字符串。这可能会引起一些恐慌,因为Python3的库开始被确定下来,人们发现他们必须更加了解 字节 string 转化率比原来高 str / unicode ...

        2
  •  7
  •   cdleary    17 年前

    关于这个问题(以及一般的Python),最重要的一点是,您可以在解释器中胡闹! Python 3.0 rc1 is currently available for download

    >>> import urllib.request
    >>> fh = urllib.request.urlopen('http://www.python.org/')
    >>> print(type(fh.read(100)))
    <class 'bytes'>
    
        3
  •  1
  •   S.Lott    17 年前

    Python 3000 and You

    第一步是在3.0下运行。

    最有可能的过程是,这些库将切换到unicode字符串,以尽可能与它们过去的工作方式保持兼容。

    推荐文章