Python b'的等价物是什么;字符串';关于变量?
我需要在使用它之前对文本字符串进行编码,但唯一的问题是它是一个变量,我所知道的是,通常我会使用b'string'。我假设我会使用variable.encode(),但我会使用什么编码呢 编辑:对不起,我误解了这个问题,克里斯蒂安的回答帮助我意识到发生了什么。感谢大家的帮助。您不必做任何事情来编码像Python b'的等价物是什么;字符串';关于变量?,python,python-2.7,Python,Python 2.7,我需要在使用它之前对文本字符串进行编码,但唯一的问题是它是一个变量,我所知道的是,通常我会使用b'string'。我假设我会使用variable.encode(),但我会使用什么编码呢 编辑:对不起,我误解了这个问题,克里斯蒂安的回答帮助我意识到发生了什么。感谢大家的帮助。您不必做任何事情来编码像b'string'这样的变量,因为它被Python2.7忽略了。在python3.3中,它用于将字符串编码为字节。 我从NPE那里学到了这一点,NPE更详细地解释了这一点: 引述: 在中忽略前缀“b”或
b'string'
这样的变量,因为它被Python2.7
忽略了。在python3.3
中,它用于将字符串编码为字节。
我从NPE那里学到了这一点,NPE更详细地解释了这一点:
引述:
在中忽略前缀“b”或“b”
Python 2;这表明
文字应该变成字节文字
在Python 3中(例如,当代码
自动转换为2to3)。A.
“u”或“b”前缀后面可以跟
“r”前缀
各国:
字节文本总是以“b”或“b”作为前缀;它们生成字节类型而不是str类型的实例。他们可能只是
包含ASCII字符;数值为128或更大的字节
必须用转义来表示
烧瓶错误是由于字符串未在UTF-8中编码而导致的问题
这样编码:
your_string = your_string.encode('utf8')
有关此问题的更多详细信息,请查看报告的github问题。好的,您必须决定使用哪种编码。您可以使用UTF-8作为合理的默认值,也可以从环境中推断编码 环境可以是,例如:
- HTTP连接中的内容类型标头
- UNIX系统上的LANG/LC_CTYPE变量
- 功能
另外,请查看。您使用的是python 2.7还是python 3?+?抱歉,忘了提及这一点。我使用的是2.7,您担心将脚本移植到python 3吗?不担心将脚本移植到python 3。这很奇怪,因为我的Flask应用程序因此出现了严重问题。当我尝试使用bcrypt而不在字符串前面添加b时,我得到一个server500错误。显然,当对用户提供的输入使用bcrypt时,这给了我一个问题。我在Flask中得到的错误是“TypeError:Unicode对象必须在散列之前进行编码”@Zaphod Flask需要utf-8作为其参数。请看我的最新答案哦,谢谢,我完全误解了我的问题,这解决了它。我会尽快将此标记为已接受的答案。