当前位置: 首页 > 面试题库 >

Python 2.x中的字符串使用哪种编码?

卢开济
2023-03-14
问题内容

在python 2.x中用于编码字符串的默认编码是什么?我读过有两种可能的方法来声明一个字符串。

string = 'this is a string'
unicode_string = u'this is a unicode string'

第二个字符串是Unicode。第一个字符串的编码是什么?


问题答案:

按照Python的默认/隐式字符串编码和转换(简洁地引用其Py2部分,以最大程度地减少重复):

实际上,Python 2中有多个独立的“默认”字符串编码, 供其功能的不同部分使用。

  • 解析代码和字符串文字:

    • str 从文字中获取-将包含文件中的原始字节,不进行转码
    • unicode从文字中获取-文件中的字节以decode“ d”加上文件的“源编码”,默认为ascii
    • 随着unicode_literalsfuture,文件中的所有文字都被视为Unicode文字
    • 转码/类型转换:

    • str<->unicode类型转换和encode/不decode带参数完成sys.getdefaultencoding()

    • 这是ascii几乎总是,所以任何国家的字符将会导致UnicodeError
    • str只能是decode“d和unicode- encode” d。否则尝试将涉及隐式类型转换(具有上述结果)
    • I / O,包括printing:

    • unicode-如果已设置,则为encode‘d’ <file>.encoding,否则将隐式转换为str(具有上述结果)

    • str-将原始字节写入流,不进行任何代码转换。对于国家字符,终端将根据其语言环境设置显示不同的字形。


 类似资料:
  • 本文向大家介绍详解Python2.x中对Unicode编码的使用,包括了详解Python2.x中对Unicode编码的使用的使用技巧和注意事项,需要的朋友参考一下 我确定有很多关于Unicode和Python的说明,但为了方便自己的理解使用,我还是打算再写一些关于它们的东西。   字节流 vs Unicode对象 我们先来用Python定义一个字符串。当你使用string类型时,实际上会储存一个字

  • 本文向大家介绍常用字符串格式化哪几种?相关面试题,主要包含被问及常用字符串格式化哪几种?时的应答技巧和注意事项,需要的朋友参考一下 1.占位符% %d 表示那个位置是整数;%f 表示浮点数;%s 表示字符串。 2.format  

  • 本文向大家介绍Python2.x与3​​.x版本有哪些区别,包括了Python2.x与3​​.x版本有哪些区别的使用技巧和注意事项,需要的朋友参考一下 Python的3​​.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。 为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。 许多针对早期Python版本设计的程式都无法

  • 我在爪哇有一个字符串s=“abc”。什么是 s[0] 类型?它不是字符串类型吗? 我尝试用Java打印它,但它显示“表达式的类型必须是数组类型,但它解析为字符串”; 在此输入图像描述

  • 当我有一个字符串需要将一个字符连接到它的结尾时,我应该更喜欢超过是否有任何性能原因? 我知道数组字符串连接和字符串生成器,我并不是在询问一般情况下如何连接字符串的建议。 我也知道有些人会有冲动向我解释过早的优化,而且一般来说我不应该为这些小事情费心,请不要... 我之所以问这个问题,是因为从编码风格的偏好来看,我更倾向于使用后一个,但我觉得第一个应该表现得稍微好一点,因为知道所附加的只是一个字符,

  • 我应该使用UTF-8、UTF-16或UTF-32中的哪一个?为什么呢?