以下是python激活模式中的代码:
>>> s = u'赵孟頫'
>>> s.encode('gbk')
'\xd5\xd4\xc3\xcf\xee\\'
为什么GBK字符串有反斜杠?
答案 0 :(得分:1)
In [8]: '\xd5\xd4\xc3\xcf\xee\\' == '\xd5\xd4\xc3\xcf\xee\x5c'
Out[8]: True
尾部反斜杠只是字节'\x5c'
。
In [9]: hex(ord('\\'))
Out[9]: '0x5c'
In [10]: '\x5c'
Out[10]: '\\'
字符串只是一个字节序列,最后一个字节恰好与ASCII编码的反斜杠相同。当Python打印字符串的repr时,它会尽可能将字节转换为可打印的ASCII字符。