将转义的 unicode 序列转换为人类可读的格式
convert escaped unicode sequence to human readable format
我一直在使用这个 python 代码:
pattern = u'丨フ丨ノ一丨ノ丶フノ一ノ丨フ一一ノフフ丶'
result = [u'<span id="z_i_t2_bis" title="\u7ad6\u6298\u7ad6\u6487\u6a2a\u7ad6\u6487\u637a\u6298\u6487\u6a2a\u6487\u7ad6\u6298\u6a2a\u6a2a\u6487\u6298\u6298\u637a">\u4e28\u30d5\u4e28\u30ce\u4e00\u4e28\u30ce\u4e36\u30d5\u30ce\u4e00\u30ce\u4e28\u30d5\u4e00\u4e00\u30ce\u30d5\u30d5\u4e36</span>']
if pattern in result[0]:
print('found')
但这很麻烦,而且并没有真正做到我想要的,即将逃脱的官话重新变成可以理解的东西,就像在那个模式中一样。是否有一些简单的 unix 工具或命令可以快速有效地执行此任务?
seems that is one would work,但是我试了一下,还是不行。即
result = "\u4e28\u30d5\u4e28\u30ce\u4e00\u4e28\u30ce\u4e36\u30d5\u30ce\u4e00\u30ce\u4e28\u30d5\u4e00\u4e00\u30ce\u30d5\u30d5\u4e36"
result.decode('utf-8')
产生了错误:attribute error 'str' object has no attribute 'decode'
如果您只是 print(result)
那么您将得到 "gobbledygook",因为当 Python 为您提供明确的输出作为列表或元组的元素时,它就是使用的。但是,如果您直接打印字符串,print(result[0])
,它将尝试按预期打印自然字符。
如果您想自己将字符转换为 utf-8,请使用 encode
而不是 decode
。 encode
将 Unicode 字符串转换为字节,decode
从 字节生成 Unicode 字符串 。
我一直在使用这个 python 代码:
pattern = u'丨フ丨ノ一丨ノ丶フノ一ノ丨フ一一ノフフ丶'
result = [u'<span id="z_i_t2_bis" title="\u7ad6\u6298\u7ad6\u6487\u6a2a\u7ad6\u6487\u637a\u6298\u6487\u6a2a\u6487\u7ad6\u6298\u6a2a\u6a2a\u6487\u6298\u6298\u637a">\u4e28\u30d5\u4e28\u30ce\u4e00\u4e28\u30ce\u4e36\u30d5\u30ce\u4e00\u30ce\u4e28\u30d5\u4e00\u4e00\u30ce\u30d5\u30d5\u4e36</span>']
if pattern in result[0]:
print('found')
但这很麻烦,而且并没有真正做到我想要的,即将逃脱的官话重新变成可以理解的东西,就像在那个模式中一样。是否有一些简单的 unix 工具或命令可以快速有效地执行此任务?
seems that is one would work,但是我试了一下,还是不行。即
result = "\u4e28\u30d5\u4e28\u30ce\u4e00\u4e28\u30ce\u4e36\u30d5\u30ce\u4e00\u30ce\u4e28\u30d5\u4e00\u4e00\u30ce\u30d5\u30d5\u4e36"
result.decode('utf-8')
产生了错误:attribute error 'str' object has no attribute 'decode'
如果您只是 print(result)
那么您将得到 "gobbledygook",因为当 Python 为您提供明确的输出作为列表或元组的元素时,它就是使用的。但是,如果您直接打印字符串,print(result[0])
,它将尝试按预期打印自然字符。
如果您想自己将字符转换为 utf-8,请使用 encode
而不是 decode
。 encode
将 Unicode 字符串转换为字节,decode
从 字节生成 Unicode 字符串 。