替換'u2019'我試過很多方法將它編碼到最終結果"BACK RUSHIN'"
,最重要的字符是右撇號'
。Python中的字符編碼,用'
我想通過使用一些內置函數來獲得最終結果的方法Python在普通字符串和unicode字符串之間沒有區別。
這是我使用檢索字符串代碼:str(unicode(etree.tostring(root.xpath('path')[0],method='text', encoding='utf-8'),errors='ignore')).strip()
並將結果:'BACK RUSHIN'
的東西是撇號'
丟失。
另一種方法是:root.xpath('path/text()')
而這結果是:Python中u'BACK RUSHIN\u2019'
。
最後,如果我嘗試:u'BACK RUSHIN\u2019'.encode('ascii', 'replace')
結果是:'BACK RUSHIN?'
請無可代替的功能,我想利用蟒蛇編解碼器庫。 也不打印字符串,因爲它被保存在一個變量中。
感謝
所以,你要讀作」從XML'(右單引號),但它翻譯爲'''(單引號)? – 2014-09-19 01:31:44
這不是一個編解碼器問題。正如羅布所暗示的那樣,這是兩個完全不同的角色。將一個人變成另一個人是一個替代問題,而不是編碼問題。 (誤導性地命名)'unidecode'模塊只不過是從非ASCII字符到類似於相似的ASCII字符集的替換集合,對於當您必須與不能執行Unicode的系統進行接口時的絕望情況。否則,通過這種方式來修改字符串通常是個壞主意。 – bobince 2014-09-19 04:50:13