1

Python アクティベーション モードのコードは次のとおりです。

>>> s = u'赵孟頫'
>>> s.encode('gbk')
'\xd5\xd4\xc3\xcf\xee\\'

GBK 文字列の末尾にバックスラッシュがあるのはなぜですか?

4

1 に答える 1

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 文字に変換します。

于 2013-07-10T10:20:53.313 に答える