码迷,mamicode.com
首页 > 编程语言 > 详细

python 中文转码

时间:2014-10-17 07:05:36      阅读:254      评论:0      收藏:0      [点我收藏+]

标签: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 中文转码

标签:python 中文转码

原文地址:http://goauto.blog.51cto.com/347307/1564962

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!