2017-03-02 128 views
0

我在訪問天氣時可能是錯誤的,這個字符串是ansi或其他任何東西,但是它來自帶有標題的rtf文檔。在python中將ansi轉義轉換爲utf-8

{\rtf1\ansi\ansicpg1252

從文檔感興趣的字符串是:

ansi_string = r'3 \u176? \u177? 0.2\u176? (2\u952?)' 

當我用Word中打開文檔它給了我:3°±0.2°2θ

問題是: 1)這些轉義碼是什麼? 是否有可能使用python內置方法將此字符串轉換爲utf-8?

+0

你是從一些文件閱讀內容!? –

+0

是的。 .rtf文件... – Rahul

+0

看看這是否有幫助! http://stackoverflow.com/questions/19591458/python-reading-from-a-file-and-saving-to-utf-8 –

回答

0

我不認爲這是最好的答案,但要表明我想要的,這裏是工作代碼。

import clr 
clr.AddReference("System") 
clr.AddReference("System.Windows.Forms") 
import System.Windows.Forms as WinForms 

def rtf_to_text(rtf_str): 
    rtf = r"{\rtf1\ansi\ansicpg1252" + '\n' + rtf_str + '\n' + '}' 
    richTextBox = WinForms.RichTextBox() 
    richTextBox.Rtf = rtf 
    return richTextBox.Text 

print(rtf_to_text(r'3 \u176? \u177? 0.2\u176? (2\u952?)')) 
-->'3 ° ± 0.2° (2θ)'