我看到一個字符串在此代碼:我怎能逃脫 ' XFF XFE' 爲可讀的字符串
data[:2] == '\xff\xfe'
我不知道是什麼 '\ XFF \ XFE' 是,
所以我想逃避它,但不成功
import cgi
print cgi.escape('\xff\xfe')#print \xff\xfe
我怎麼能得到它。
謝謝
我看到一個字符串在此代碼:我怎能逃脫 ' XFF XFE' 爲可讀的字符串
data[:2] == '\xff\xfe'
我不知道是什麼 '\ XFF \ XFE' 是,
所以我想逃避它,但不成功
import cgi
print cgi.escape('\xff\xfe')#print \xff\xfe
我怎麼能得到它。
謝謝
'\ xFF'表示十六進制值爲FF的字節。 '\ xff \ xfe'是一個字節順序標記:http://en.wikipedia.org/wiki/Byte_order_mark
您也可以將其表示爲兩個獨立的字符,但可能不會告訴您任何有用的信息。
>>> print '\xff\xfe'.encode('string-escape')
\xff\xfe
之間是什麼「我不知道什麼是‘\ XFF \ XFE’是」和「所以我想逃避它」的連接? 「轉義」的目的是什麼?
這將有助於極大,如果你(之前和之後說幾句行)給多一點背景比data[:2] == '\xff\xfe'
...但它看起來像它正在測試是否data
前兩個字節可能可能代表一個UTF-16 littleendian字節順序標記。在這種情況下,你可以這樣做:
UTF16_LE_BOM = "\xff\xfe"
# much later
if data[:2] == UTF16_LE_BOM:
do_something()
這將是,如果你解釋什麼是你特別「無效的字符串」的定義是什麼樣的「\ x00」或「「無效」 \一個非常好的主意XFF \ XFE」。你有沒有注意到OP似乎在使用Python 2.x而不是3.x,所以PEP-0358幾乎沒有什麼相關性? – 2010-01-01 03:39:13
例如:您不能在C字符串中存儲0x00,因爲這是字符串終止符。在Unicode的情況下,有幾個其他代碼不允許存儲在裏面。 – sorin 2010-01-02 10:05:23
您是否注意到OP使用Python而不是C?我再問一遍:「\ xff \ xfe」是什麼是無效的? – 2010-01-02 21:53:27