python中包含中文字符串的編碼不一致問題.
通過查看編碼,發現兩種字符串的編碼缺失不同.
例子:
In [43]: uContent = u'麗江旅游(sz002033)#股票##炒股##財經##理財##投資#推薦包贏股,盈利對半分成,不算本金,群:46251412'
In [44]: uContent
Out[44]: u'\u4e3d\u6c5f\u65c5\u6e38(sz002033)#\u80a1\u7968##\u7092\u80a1##\u8d22\u7ecf##\u7406\u8d22##\u6295\u8d44#\u63a8\u8350\u5305\u8d62\u80a1\uff0c\u76c8\u5229\u5bf9\u534a\u5206\u6210\uff0c\u4e0d\u7b97\u672c\u91d1\uff0c\u7fa4\uff1a46251412'
In [45]: content
Out[45]: '\xe4\xb8\xbd\xe6\xb1\x9f\xe6\x97\x85\xe6\xb8\xb8(sz002033)#\xe8\x82\xa1\xe7\xa5\xa8##\xe7\x82\x92\xe8\x82\xa1##\xe8\xb4\xa2\xe7\xbb\x8f##\xe7\x90\x86\xe8\xb4\xa2##\xe6\x8a\x95\xe8\xb5\x84#\xe6\x8e\xa8\xe8\x8d\x90\xe5\x8c\x85\xe8\xb5\xa2\xe8\x82\xa1\xef\xbc\x8c\xe7\x9b\x88\xe5\x88\xa9\xe5\xaf\xb9\xe5\x8d\x8a\xe5\x88\x86\xe6\x88\x90\xef\xbc\x8c\xe4\xb8\x8d\xe7\xae\x97\xe6\x9c\xac\xe9\x87\x91\xef\xbc\x8c\xe7\xbe\xa4\xef\xbc\x9a46251412'
In [46]: print content
麗江旅游(sz002033)#股票##炒股##財經##理財##投資#推薦包贏股,盈利對半分成,不算本金,群:46251412
In [47]:
解決辦法:
將普通字符串轉變為unicode編碼格式的.
例子:
In [47]: newContent = unicode(content, "utf8")
In [48]: newContent
Out[48]: u'\u4e3d\u6c5f\u65c5\u6e38(sz002033)#\u80a1\u7968##\u7092\u80a1##\u8d22\u7ecf##\u7406\u8d22##\u6295\u8d44#\u63a8\u8350\u5305\u8d62\u80a1\uff0c\u76c8\u5229\u5bf9\u534a\u5206\u6210\uff0c\u4e0d\u7b97\u672c\u91d1\uff0c\u7fa4\uff1a46251412'
In [49]:
這樣變解決了這個問題.
沒有解決的:
現在仍然不知道原來的普通字符串的編碼格式是什么?只能通過類型查看看到二者之間簡單的區別.
例子:
In [49]: type(content)
Out[49]: str
In [50]: type(uContent)
Out[50]: unicode
In [51]: type(newContent)
Out[51]: unicode
In [52]: