Python中UTF-8字符八进制转义的正确方法
我需要在Python中获得UTF-8字符的八进制转义序列,我想知道是否有更简单的方法来完成我想做的事情,例如,我忽略了标准库中的某些内容。我有一个临时的字符串操作函数,但我希望有一个更好的解决方案 我想从(例如:Python中UTF-8字符八进制转义的正确方法,python,python-3.x,utf-8,Python,Python 3.x,Utf 8,我需要在Python中获得UTF-8字符的八进制转义序列,我想知道是否有更简单的方法来完成我想做的事情,例如,我忽略了标准库中的某些内容。我有一个临时的字符串操作函数,但我希望有一个更好的解决方案 我想从(例如:使用格式(I,'03o')将格式设置为八进制数,而不前导0o指示符,或者使用str.format()也包括文字反斜杠: >>> format(16, '03o') '020' >>> '\\{:03o}'.format(16) '\\020' 只需循
使用格式(I,'03o')
将格式设置为八进制数,而不前导0o
指示符,或者使用str.format()
也包括文字反斜杠:
>>> format(16, '03o')
'020'
>>> '\\{:03o}'.format(16)
'\\020'
只需循环编码的字节
值;每个字符都作为一个整数生成:
char = ''.join(['\\{:03o}'.format(c) for c in char.encode('utf8')])
演示:
使用format(i,'03o')
将格式设置为八进制数,而不带前导0o
指示符,或者使用str.format()
也包括文字反斜杠:
>>> format(16, '03o')
'020'
>>> '\\{:03o}'.format(16)
'\\020'
只需循环编码的字节
值;每个字符都作为一个整数生成:
char = ''.join(['\\{:03o}'.format(c) for c in char.encode('utf8')])
演示:
下次请尝试粘贴实际代码;用Python能够识别的ASCII引号替换所有花哨的引号有点痛苦;用ASCII引号替换所有花哨的引号是一件有点痛苦的事情,Python实际上可以识别ASCII引号。