python join/format 正则表达式可能的十六进制值
python join/format possible hex values for regex
我想创建一个模板字符串作为表达式的可能值:
'\x1C,\x2C,\x3C,\x4C,\x5C,\x6C,\x7C,\x8C,\x9C,\xAC,\xBC,\xCC,\xDC,\xEC,\xFC'
以这样的方式:
from string import digits, ascii_uppercase
','.join(['\x'+i+'C' for i in digits+ascii_uppercase[:6]])
但不幸的是 join 并没有随意对待 '\x':
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \xXX escape
不像,例如,双斜杠:
','.join(['\x'+i+'C' for i in digits+ascii_uppercase[:6]])
\x0C,\x1C,\x2C,\x3C,\x4C,\x5C,\x6C,\x7C,\x8C,\x9C,\xAC,\xBC,\xCC,\xDC,\xEC,\xFC'
有什么想法吗?也许是另一种编码?
既然你在处理角色,那就处理角色。
','.join(chr(x) for x in range(0x1c, 0x100, 0x10))
\x
将尝试像 \n
(换行符)一样转义 \x
,您需要使用 \
来使用第一个 \
转义第二个 \
.
然而,这两个\
只在你输入shell时才会显示,但是当你打印出来时,另一个就会消失:
>>> text = '\x0C,\x1C,\x2C,\x3C,\x4C,\x5C,\x6C,\x7C,\x8C,\x9C,\xAC,\ xBC,\xCC,\xDC,\xEC,\xFC'
>>> text
'\x0C,\x1C,\x2C,\x3C,\x4C,\x5C,\x6C,\x7C,\x8C,\x9C,\xAC,\xBC,\xCC,\xDC,\xEC,\xFC'
>>> print(text)
\x0C,\x1C,\x2C,\x3C,\x4C,\x5C,\x6C,\x7C,\x8C,\x9C,\xAC,\xBC,\xCC,\xDC,\xEC,\xFC
我想创建一个模板字符串作为表达式的可能值:
'\x1C,\x2C,\x3C,\x4C,\x5C,\x6C,\x7C,\x8C,\x9C,\xAC,\xBC,\xCC,\xDC,\xEC,\xFC'
以这样的方式:
from string import digits, ascii_uppercase
','.join(['\x'+i+'C' for i in digits+ascii_uppercase[:6]])
但不幸的是 join 并没有随意对待 '\x':
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \xXX escape
不像,例如,双斜杠:
','.join(['\x'+i+'C' for i in digits+ascii_uppercase[:6]])
\x0C,\x1C,\x2C,\x3C,\x4C,\x5C,\x6C,\x7C,\x8C,\x9C,\xAC,\xBC,\xCC,\xDC,\xEC,\xFC'
有什么想法吗?也许是另一种编码?
既然你在处理角色,那就处理角色。
','.join(chr(x) for x in range(0x1c, 0x100, 0x10))
\x
将尝试像 \n
(换行符)一样转义 \x
,您需要使用 \
来使用第一个 \
转义第二个 \
.
然而,这两个\
只在你输入shell时才会显示,但是当你打印出来时,另一个就会消失:
>>> text = '\x0C,\x1C,\x2C,\x3C,\x4C,\x5C,\x6C,\x7C,\x8C,\x9C,\xAC,\ xBC,\xCC,\xDC,\xEC,\xFC'
>>> text
'\x0C,\x1C,\x2C,\x3C,\x4C,\x5C,\x6C,\x7C,\x8C,\x9C,\xAC,\xBC,\xCC,\xDC,\xEC,\xFC'
>>> print(text)
\x0C,\x1C,\x2C,\x3C,\x4C,\x5C,\x6C,\x7C,\x8C,\x9C,\xAC,\xBC,\xCC,\xDC,\xEC,\xFC