2015-02-10 52 views
0

我已經使用這個Python代碼一直是:轉換忽略Unicode序列的人類可讀的格式

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工具或commnand來快速有效地執行此任務?

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'

回答

1

如果你只是print(result),那麼你會得到「官樣文章」,因爲這是Python使用時,它給你一個明確的輸出的一個元素列表或元組。但是,如果直接打印字符串,它將嘗試打印自然字符。

如果您想自己將字符轉換爲utf-8,請使用encode而不是decodeencode將Unicode字符串轉換爲字節,decode從字節產生Unicode字符串