首页 > 代码库 > python 中文转码
python 中文转码
最近在玩一些爬虫,python中文转码刚接触是一件麻烦的事(转换的原理省略)
一般来说有encode(‘gbk‘),edcode(‘utf8‘),decode(‘gbk‘),decode(‘utf8‘)可以解决很大一部问题
但是今天遇到了‘\\u6210\\u529f‘这种格式,上面的三板斧就搞不定了
经过万能的度娘,发现了第一个贴子,叹为观止
http://bbs.chinaunix.net/thread-3674073-1-1.html
代码如下
#!/usr/bin/env python # -*- coding: utf-8 -*- import re import sys def main(): for line in sys.stdin: sys.stdout.write(re.sub(r‘\\u\w{4}‘, lambda e: unichr(int(e.group(0)[2:], 16)).encode(‘utf-8‘), line)) if __name__ == ‘__main__‘: main()
接着又是万能的度娘,没错还是他,找到一个更方便快捷的方法
http://blog.csdn.net/garinwang/article/details/6329262
代码如下
str = str.decode(‘unicode_escape‘) str = str.encode(‘gbk‘)
第一步将字符串解码为unicode,第二步将unicode码编码为gbk汉字码。
此种方法能够将整个字符串中的汉字全部编码。
打完收工!
python 中文转码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。