Python Base64打印问题
我有一个base64编码的字符串 当我以这种方式解码字符串时:Python Base64打印问题,python,string,Python,String,我有一个base64编码的字符串 当我以这种方式解码字符串时: >>> import base64 >>> base64.b64decode("XH13fXM=") '\\}w}s' 输出正常。 但当我这样使用它时: >>> d = base64.b64decode("XH13fXM=") >>> print d \}w}s 缺少某些字符 有人能提供建议吗 感谢您的高级指导。这只是一个演示问题: >>>
>>> import base64
>>> base64.b64decode("XH13fXM=")
'\\}w}s'
输出正常。
但当我这样使用它时:
>>> d = base64.b64decode("XH13fXM=")
>>> print d
\}w}s
缺少某些字符
有人能提供建议吗
感谢您的高级指导。这只是一个演示问题:
>>> '\\}w}s'
'\\}w}s'
>>> print(_, len(_))
\}w}s 5
此字符串有5个字符。在代码中使用它时,需要转义反斜杠或使用原始字符串文字:
>>> r'\}w}s'
'\\}w}s'
>>> r'\}w}s' == '\\}w}s'
True
这只是一个展示的问题:
>>> '\\}w}s'
'\\}w}s'
>>> print(_, len(_))
\}w}s 5
此字符串有5个字符。在代码中使用它时,需要转义反斜杠或使用原始字符串文字:
>>> r'\}w}s'
'\\}w}s'
>>> r'\}w}s' == '\\}w}s'
True
当您打印字符串时,将输出字符串中的字符。当交互式shell向您显示上一条语句的值时,它将打印字符串的
\uuuu repr\uuu
,而不是字符串本身。这就是为什么它周围有单引号,而你的反斜杠被转义了
第二个示例中没有缺少字符,这是字符串中的5个字符。第一个示例添加了字符,使输出成为合法的Python字符串文字
如果要使用print语句并使输出与第一个示例类似,请使用:
print repr(d)
当您打印字符串时,将输出字符串中的字符。当交互式shell向您显示上一条语句的值时,它将打印字符串的
\uuuu repr\uuu
,而不是字符串本身。这就是为什么它周围有单引号,而你的反斜杠被转义了
第二个示例中没有缺少字符,这是字符串中的5个字符。第一个示例添加了字符,使输出成为合法的Python字符串文字
如果要使用print语句并使输出与第一个示例类似,请使用:
print repr(d)