Python-字符串文字前的'b'字符做什么?

发布于 2021-02-02 18:07:32

显然,以下是有效的语法

my_string = b'The string'

我想知道:

  1. 这是什么b字在前面的字符串是什么意思?
  2. 使用它有什么作用?
  3. 在什么情况下可以使用它?
    我在SO上找到了一个相关的问题,但是这个问题是关于PHP的,它指出b用来表示字符串是二进制的,而不是Unicode,Unicode是要从PHP <6版本兼容的代码,当迁移到PHP 6时。我认为这不适用于Python。

我确实在Python站点上找到了有关使用相同语法的字符将字符串指定为Unicode的文档u。不幸的是,它在该文档的任何地方都没有提到b字符。

而且,只是出于好奇,有没有比多符号b和u是做其他事情?

关注者
0
被浏览
173
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    引用Python 2.x文档:

    在Python 2中,前缀'b''B'被忽略;它表示文字应该在Python 3中变成字节文字(例如,当代码自动用2to3转换时)。前缀“ u”“ b”后可以带有前缀“ r”

    在Python 3中的文件状态:

    字节字面量始终以“ b”“ B”为前缀;它们产生字节类型的实例而不是str类型。它们只能包含ASCII字符;数值等于或大于128的字节必须用转义符表示。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看