如何在python 2.7中将字符串转换为字节串

时间:2016-02-22 15:55:45

标签: python string python-2.7

我正在尝试将来自raw_input()的字符串转换为“字符串”。当我手动输入变量(在代码中)时,它工作正常,因为它返回长度为5.但是,当我尝试使用raw_input()输入“字符串”时,它返回20的长度。 / p>

>>> x='\xB2\xB2\xB3\xB4\x01'
>>> len(x)
5
>>> x=raw_input()
\xB2\xB2\xB3\xB4\x01
>>> len(x)
20

我想知道为什么会这样,我该如何解决它。提前谢谢。

1 个答案:

答案 0 :(得分:1)

当您将字符串“\ xB2 \ xB2 \ xB3 \ xB4 \ x01”提交给raw_input()时,它会自动转义\个字符,因为它认为您要将它们作为字符串的一部分输入。这导致字符串的表示形式如下:

In [2]: x=raw_input()
\xB2\xB2\xB3\xB4\x01

In [3]: x
Out[3]: '\\xB2\\xB2\\xB3\\xB4\\x01'

In [4]: print x
\xB2\xB2\xB3\xB4\x01

不幸的是,你的问题的答案基本上是你不应该手动输入一串字节到raw_input()