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

python2 与 python3 的编码

时间:2018-01-05 12:21:09      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:报错   import   gpo   定义   英文   str1   efault   encode   tde   

#coding:utf-8
import os
import sys
#当前环境py2.7
print(sys.getdefaultencoding()) #注意是编码方式,不是编码
#定义一个字符串
str = ‘中‘
#print(str)
print(len(str)) #长度3, utf-8
#str.encode(‘gbk‘) #报错,当前编码环境为ascii 不能直接从ascii映射到gbk 需解码到unicode,在进行编码
#print(str.decode(‘utf-8‘).encode(‘gbk‘))#??乱码,当前环境为utf-8,设置gbk 显示正常
#所以python 中定义中文尽量用unicode的方式,即前面加u
#python2在编码的问题上还是留了很多的坑
#------------------------Python3------------------------------------
#python3中默认编码方式是utf-8, 默认编码为unicode 所以不管是中文英文都按照一个字符来算
#只是在编码的时候选择对应的编码方式
str1 = ‘中abc‘
print(len(str1)) #可以看到输出长度为4 不管是ascii还是中文都按单个字符来算
print(str1.encode(‘utf-8‘)) #b‘\xe4\xb8\xadabc‘
print(str1.encode(‘gbk‘)) #b‘\xd6\xd0abc‘

  

python2 与 python3 的编码

标签:报错   import   gpo   定义   英文   str1   efault   encode   tde   

原文地址:https://www.cnblogs.com/alplf123/p/8203167.html

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