我正在致力於從一些網站獲取一些數據然後存儲到數據庫中的項目。但這些網站包含不同的字符集,如utf-8,gbk。獲取的數據是unicode,所以我想知道何時轉換爲字符串是正確的方法。我現在立即轉換爲字符串,但似乎python建議儘可能保持unicode,我不明白爲什麼?因爲我們一直不知道unicode對象的字符集。何時將unicode轉換爲字符串?
回答
unicode
s不要有一個字符集;他們是純文本。在僅接受字節的介質中存儲或傳輸時,只能轉換爲字節串。
在你的應用程序來處理文本的建議是:
- 從一些地方獲取輸入字節(編碼字符串)
- 對其進行解碼成
Unicode
與Unicode
您的應用程序內工作。 - 無論何時您想要輸出文本,都要對其進行編碼。
如果您抓取網頁,我已經看到BeautifulSoup
和其他庫,它們爲Unicode轉換傳入字節的工作。所以在你的應用程序中,你可以使用Unicode來處理它們。
如果你想將它存儲在數據庫中,可能是該數據庫中utf-8
編碼,如果沒有,學什麼它的編碼是和當你準備寫信息到數據庫,對其進行編碼第一。
text = text.encode('utf-8') # or the encode used by your DB
db.persist(text) # pseudocode here ;)
這樣你unicode的保護層在您的應用程序的前面,輸入和輸出。
希望這會有所幫助!
一個好的數據庫適配器需要'unicode'併爲你找出字符集。 –
是的,我使用'BeautifulSoup'從網站獲取數據。但我認爲我從'BeautifulSoup'獲得的unicode可能無法使用'utf-8'字符集進行解碼,所以我不能僅使用'.encode(「utf-8」)'轉換爲字符串。所以這裏是一個問題:如果我不盡快轉換爲字符串,當我在我的程序中執行一些字符串過程(比如正則表達式匹配)時,我將會丟失。 –
任何unicode都可以解碼,我不太明白你的意思。關於正則表達式,他們可以很好地處理unicode,你可以很好地將Unicode應用於正則表達式。 –
- 1. 如何將包含unicode字符的字符串轉換爲unicode?
- 2. 將AnsiString轉換爲Unicode字符串
- 3. 將Unicode轉換爲字符串Java
- 4. 將unicode字符串轉換爲float
- 5. 將unicode字符串轉換爲utf8
- 6. 將Unicode字符串轉換爲ASCII
- 7. 將unicode轉換爲字符串
- 8. 如何將字符串轉換爲Perl中的unicode字符串
- 9. 如何將Unicode編碼的字符串轉換爲字符串
- 10. 如何將逐字字符串轉換爲常規Unicode字符
- 11. 如何將unicode字符串轉換像
- 12. 將unicode字符串轉換爲字節字符串
- 13. 如何將Unicode轉義序列轉換爲.NET字符串中的Unicode字符?
- 14. 如何將字符串轉換爲其unicode轉義符?
- 15. 如何將Unicode代碼點轉換爲Unicode字符串?
- 16. 在Unicode中將unicode字符串轉換爲可用的unicode
- 17. 如何將字符串轉換爲unicode字符?
- 18. 如何將unicode字符串轉換爲字符
- 19. 位移並將字符轉換爲Unicode轉義字符串
- 20. 將url編碼的字符串轉換爲python unicode字符串
- 21. Python:將ascii字符串轉換爲unicode字符串
- 22. 將unicode字符串轉換爲字符串
- 23. 如何將帶有Unicode字符的字符串轉換爲普通字符串?
- 24. SSIS無法將Unicode轉換爲非Unicode字符串錯誤
- 25. python unicode woes - 將cp1252字符串轉換爲unicode
- 26. 轉換到Unicode字符串
- 27. 轉換Unicode(?)字符串
- 28. 如何將unicode JavaScript字符串轉換爲字節數組?
- 29. 如何在使用-Xno-escape時將Unicode字符轉換爲字符串
- 30. 將unicode字符轉換爲字符串格式
Unicode是每個其他字符集的超集,因此它對於保存角色是安全的。 –