2024-05-19 01:13:48 发布
网友
一般的问题是,我需要十六进制字符串保持这种格式来将其分配给变量,而不是保存编码?在
不好:
>>> '\x61\x74' 'at' >>> a = '\x61\x74' >>> a 'at'
效果不错,但不如:
使用r前缀(explained on SO)
r
a = r'\x61\x74' b = '\x61\x74' print (a) #prints \x61\x74 print (b) # prints at
它是相同的数据。Python允许您使用不同的方法指定文本字符串,其中一种方法是使用转义码来表示字节。在
因此,'\x61'与'a'是相同的字符值。Python只是选择将可打印的ASCII字符显示为可打印的ASCII字符,而不是转义代码,因为这使得使用bytestrings更加容易。在
'\x61'
'a'
如果需要文本斜杠、x字符和两位数6和1字符(因此字符串长度为4),则需要将斜杠加倍或使用原始字符串。在
x
6
1
举例说明:
>>> '\x61' == 'a' # two notations for the same value True >>> len('\x61') # it's just 1 character 1 >>> '\\x61' # escape the escape '\\x61' >>> r'\x61' # or use a raw literal instead '\\x61' >>> len('\\x61') # which produces 4 characters 4
使用
r
前缀(explained on SO)它是相同的数据。Python允许您使用不同的方法指定文本字符串,其中一种方法是使用转义码来表示字节。在
因此,
'\x61'
与'a'
是相同的字符值。Python只是选择将可打印的ASCII字符显示为可打印的ASCII字符,而不是转义代码,因为这使得使用bytestrings更加容易。在如果需要文本斜杠、
x
字符和两位数6
和1
字符(因此字符串长度为4),则需要将斜杠加倍或使用原始字符串。在举例说明:
相关问题 更多 >
编程相关推荐