python unicode,utf8转换

Python2(包括Python26、Python27等)的字符串通常包含str、unicode两种类型,通常str的字符串编码方式由源码文件的编码方式决定,
目前使用的基本都是UTF-8的编码格式,所以要在py文件的头部指定编码格式:

1
# -*- coding: utf-8 -*-
在Python程序内部,通常使用的字符串为unicode编码,这样的字符串字符是一种内存编码格式,如果将这些数据存储到文件或是记录日志的时候,
就需要将unicode编码的字符串转换为特定字符集的存储编码格式,比如:UTF-8、GBK等等,
很多时候Python程序员都会遇到乱码问题,相信以下的一些处理方式和技巧能帮助大家解决乱码问题。

# !/usr/bin/env python
# -*- coding: utf-8 -*-
name='测试'
print name
print type(name)
print len(name)

C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/Django/a17.py
测试
<type 'str'>
6

# !/usr/bin/env python
# -*- coding: utf-8 -*-
name=u'测试'
print name
print type(name)
print len(name)

C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/Django/a17.py
测试
<type 'unicode'>
2


unicode 转utf8

# !/usr/bin/env python
# -*- coding: utf-8 -*-
name=u'测试'
print name
print type(name)
print len(name)
name=name.encode('utf-8')
print name
print type(name)
print len(name)


C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/Django/a17.py
测试
<type 'unicode'>
2
测试
<type 'str'>
6


# !/usr/bin/env python
# -*- coding: utf-8 -*-
name='测试'
print name
print type(name)
print len(name)
name=name.decode('utf-8')
print name
print type(name)
print len(name)

C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/Django/a17.py
测试
<type 'str'>
6
测试
<type 'unicode'>
2



字符串转换成unicode



                                    
原文地址:https://www.cnblogs.com/hzcya1995/p/13349502.html