显然,以下是有效的语法:

b'The string'

我想知道:

  1. 这是什么b字符串前面的字符是指的吗?
  2. 使用它有什么影响?
  3. 什么适合使用它?

我找到了一个相关问题就在这里,但是这个问题是关于PHP的,它指出了b用于指示字符串是二进制的,而不是unicode,而在迁移到php6时,代码从php <6的版本中兼容所需的字符串。我认为这不适用于Python。

我确实找到了此文档在Python网站上使用u同一语法中的字符以将字符串指定为Unicode。不幸的是,它没有提及b该文档中任何地方的角色。

另外,出于好奇心,是否有更多的符号bu那做其他事情吗?

答案

去引用Python 2.x文档

Python 2中忽略了" B"或" B"的前缀;这表明字面形式应成为python 3中的字面字面字面的字体(例如,当用2to3自动转换代码时)。A" U"或" B"前缀之后可能是" R"前缀。

Python 3文档状态:

字节文字总是以" b"或" b"为前缀;它们产生字节类型而不是STR类型的实例。它们可能只包含ASCII字符;数值为128或更高的字节必须用Escapes表示。

来自: stackoverflow.com