python_47_Python2中字符编码与转码
#python3默认是Unicode,Unicode是万国码,不管中文字符还是英文,所有的每个字符都占2个字节空间,16位
#python2默认是ascii码
#ascii码不能存中文,一个英文只能占一个字节,8位;utf-8是可变长的字符编码(可认为Unicode的扩展集),所有英文字符仍按ASCII码形式,即1个字节,所有中文字符按3个字节储存。gbk和gb2312两个字节表示一个中文。
#utf-8是Unicode的扩展集,Unicode格式写的内容在utf-8中不会乱码
#Python2用中文,要声明utf-8(# -*- coding:utf-8 -*- )或者gbk(# -*- coding:gbk -*- ),python3不用声明# -*- coding:utf-8 -*-
#有关编码这方面的内容看博客http://www.cnblogs.com/yuanchenqi/articles/5956943.html,一定要看
# utf-8(# -*- coding:utf-8 -*- )或者gbk(# -*- coding:gbk -*- )的声明只是说明的是文件编码 #打印系统默认编码
import sys
print sys.getdefaultencoding()

上图适用于Python2
#在Python2中
# -*- coding:utf-8 -*-
#utf-8变成gbk,也可变成gb2312
utf8= "我爱北京天安门"#utf-8格式
utf8_to_unicode = utf8.decode("utf-8")#先解码utf-8就变成Unicode格式
print utf8_to_unicode
utf8_to_unicode_to_gbk=utf8_to_unicode.encode("gbk")#再编码成gbk
print utf8_to_unicode_to_gbk
#gbk变成utf-8
gbk_to_utf8=utf8_to_unicode_to_gbk.decode("gbk").encode("utf-8")
print gbk_to_utf8 s=u'我前边加u表示我是Unicode字符串'#如果对Unicode字符串解码是解不出来的,产生错误,因为本身就是Unicode字符串。
print s#在utf-8环境中打印是正确的
s_to_gbk=s.encode('gbk')#unicode可以直接转成gbk,所有的进行转换之前都要解码成Unicode,本身就是Unicode的就不用解码了
python_47_Python2中字符编码与转码的更多相关文章
- Python中字符编码及转码
python 字符编码及转码 python 默认编码 python 2.X 默认的字符编码是ASCII, 默认的文件编码也是ASCII python 3.X 默认的字符编码是unicode,默认的文件 ...
- python_48_Python3中字符编码与转码
python3默认是Unicode,不用声明# -*- coding:utf-8 -*-,如果声明则是utf-8 unicode='你好' print('utf-8:',unicode.encode( ...
- Python基础-字符编码与转码
***了解计算机的底层原理*** Python全栈开发之Python基础-字符编码与转码 需知: 1.在python2默认编码是ASCII, python3里默认是utf-8 2.unicode 分为 ...
- Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数
1. 集合 1.1 特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...
- 小白的Python之路 day2 字符编码和转码
字符编码和转码 详细文章: http://www.cnblogs.com/yuanchenqi/articles/5956943.html http://www.diveintopython3.net ...
- 【python】-- 字符串、字符编码与转码
字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可:访问子字符串,可以使用方括号来截取字符串: var1 ...
- python基础之 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- Python字符编码与转码
字符编码与转码 注: 该图转自 http://www.cnblogs.com/luotianshuai/p/5735051.html. Python2 解码,编码 #Python2 #-*- codi ...
- C++中字符编码的转换(Unicode、UTF-8、ANSI)
C++的项目,字符编码是一个大坑,不同平台之间的编码往往不一样,如果不同编码格式用一套字符读取格式读取就会出现乱码.因此,一般都是转化成UTF-8这种平台通用,且支持性很好的编码格式. Unicode ...
随机推荐
- cropper.js裁剪图片的使用
这两天难得有时间可以整理一下最近学习的东西,这两天项目中用到了头像上传裁剪的功能,这里只介绍头像的裁剪吧. 单独实现图片剪裁的功能还是挺容易的,入门级别的.看一遍官方给的文档,基本上就明白了.大家如果 ...
- 通过jdbc连接MySql数据库的增删改查操作
一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...
- web综合案例03
web综合案例03 web综合案例03 web综合案例03 web综合案例03 ... 待复习
- react native ios打包到真机,即生产包
参考文章:http://www.devio.org/2017/02/09/React-Native%E5%8F%91%E5%B8%83APP%E4%B9%8B%E6%89%93%E5%8C%85iOS ...
- 找出list中的不同元素、删除两个list中相同的对象
package com.test; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; ...
- P1089津津的储蓄计划
题目描述 津津的零花钱一直都是自己管理.每个月的月初妈妈给津津300300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同. 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在 ...
- Harry And Biological Teacher 分块 + 字符串hash
http://acm.hdu.edu.cn/showproblem.php?pid=5069 首先判断suffix和prefix最长多少可以直接暴力枚举长度然后 + hash可以立马判断是否相等,复杂 ...
- Vue小贴士
1.去掉空格影响,删除掉此段代码 2.想要同时运行两个Vue项目,修改端口号,黄色框内的内容自己随意改个端口号就行,比如:8082 3.批处理 在项目的根目录中添加a.bat文件,这样就可以在运行的 ...
- node线程有多少
一篇文章构建你的 NodeJS 知识体系
- python中*args, **kwargs理解
先来看个例子: def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '----------- ...