python中 gbk字符串被识别为unicode(就是读取到的应该是✀内容内容✀变成了 u✀内容内容✀,这样应该如何解码?

怎么去掉u?
2025-01-03 23:13:02
推荐回答(3个)
回答1:

你用的是哪个库 ,如果是pymssql 的话,我建议换个库我测试末尾带b字样的版本没有这个问题 

有些库是有这样的问题,所有编码自己加上U,尝试更换库试一下


刚才百度了一下,看到一个解决办法不错,考虑转载到我的空间,我确实遇到了这样的问题

方法如下:

python 提供了一个特殊的编码( raw_unicode_escape )用来处理这种情况:

In [4]: u'\xe4\xbd\xa0\xe5\xa5\xbd'.encode('raw_unicode_escape')
Out[4]: '\xe4\xbd\xa0\xe5\xa5\xbd'

In [5]: u'\xe4\xbd\xa0\xe5\xa5\xbd'.encode('raw_unicode_escape').decode('utf8')
Out[5]: u'你好'

In [7]: print u'你好'
你好

以前杂没发现这个方法呢...我遇到这个问题是找个关天,换了个库才搞定

回答2:

>>> '内容'.decode('gbk')
u'\u5185\u5bb9'
>>> print u'\u5185\u5bb9'
内容
>>> type(u'\u5185\u5bb9')

不解释

回答3:

u'内容内容'.encode('gbk')