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]: