如何用python将多行unicode字符串前的u移除

Python013

如何用python将多行unicode字符串前的u移除,第1张

要知道triple string就是string,由许多characters组合而成,比如[u'123']在a里已经没有列表的含义了,就是“[”, “u”, “'”, “1”, “2”, “3”, “'”, “]”这些字符的组合

你用的是哪个库 ,如果是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'\u4f60\u597d'

In [7]: print u'\u4f60\u597d'

你好

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