python2和python3编码
python2编码
unicode:unicode 你好 u'\u4f60\u597d'
| | | |
encode('utf8')| |decode('utf8') encode('gbk')| |decode('gbk')
| | | |
utf8 gbk
编码后的str '\xe4\xbd\xa0\xe5\xa5\xbd' 编码后的gbk u'\u6d63\u72b2\u30bd'
# str: bytes
>>> s = '你好 world'
>>> print repr(s)
'\xe4\xbd\xa0\xe5\xa5\xbd world'
>>> print len(s)
12
>>> print type(s)
<type 'str'>
# unicode:unicode
>>> s = u'你好 world'
>>> print repr(s)
u'\u4f60\u597d world'
>>> print len(s)
8
>>> print type(s)
<type 'unicode'>
#unicode: 无论什么字符在Unicode都有一个对应。
python2的特点
1.在python2中print把字节转成了Unicode
2.python2中以默认已ASCII编码
[root@localhost ~]# cat python.py
#coding:utf8 # 告诉解释器以utf8编码
print '你好'
python3编码
在python3中默认以utf8编码
str:unicode 你好 u'\u4f60\u597d'
| | | |
encode('utf8')| |decode('utf8') encode('gbk')| |decode('gbk')
| | | |
utf8 gbk
编码后的str '\xe4\xbd\xa0\xe5\xa5\xbd' 编码后的gbk u'\u6d63\u72b2\u30bd'
>>> s = '你好 world'
>>> print (json.dumps(s))
"\u4f60\u597d world"
>>> print (len(s))
8
>>> print (type(s))
<class 'str'>
编码解码方式1:
>>> s = '你好 world'
>>> b = s.encode('utf8')
>>> print (b)
b'\xe4\xbd\xa0\xe5\xa5\xbd world'
>>> s = b.decode('utf8')
>>> print (s)
你好 world
>>> s = b.decode('gbk')
>>> print (s)
浣犲ソ world
编码解码方式2:
>>> s = '你好 world'
>>> b = bytes(s,'gbk')
>>> print (b)
b'\xc4\xe3\xba\xc3 world'
>>> s = str(b,'gbk')
>>> print (s)
你好 world >>> s = '你好 world'
>>> b = bytes(s,'utf8')
>>> print (b)
b'\xe4\xbd\xa0\xe5\xa5\xbd world'
>>> s = str(b,'utf8')
>>> print (s)
你好 world
>>> s = str(b,'gbk')
>>> print (s)
浣犲ソ world
python2和python3编码的更多相关文章
- python2和python3编码问题
欢迎加入python学习交流群 667279387 一.什么是编解码 1.什么是unicode 2.编码方式 二.python中的编解码 1.python2 (1).encode() 和 .decod ...
- 字符编码、python2和python3编码的区别
目录 字符编码 文本编辑器存储信息的过程 python解释器解释python代码的流程 python解释器与文本编辑器的异同 不同编码格式存入与读取数据的过程 乱码的分析 python2和python ...
- Python2 和 Python3 编码问题
基本存储单元 位(bit, b):二进制数中的一个数位,可以是0或者1,是计算机中数据的最小单位. 字节(Byte,B):计算机中数据的基本单位,每8位组成一个字节. 1B = 8b 各种信息在计算机 ...
- python2与python3编码
#coding:utf8#一#1.在python2中,默认以ASCII编码chcp 936import sysprint sys.getdefaultencoding()# ascii#str:byt ...
- Python2和Python3编码的区别
Python2 python2中有两种储存变量的形式,第一种:Unicode:第二种:按照coding头来的. 假设python2用utf8存储x='中文',当你print(x)的时候,终端接收gbk ...
- python2与python3编码问题
python2: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 33: 解决办法: 在报错的页面添加代码: ...
- python2与python3编码(练习)
#_author:来童星#date:2019/12/9import jsons='star'a=s.encode('utf8')print(s,type(s))# star <class 'st ...
- pickle 在python2 to python3 编码出现错误
pickle.load(file) UnicodeDecodeError: 'ascii' codec can't decode byte 0xf5 in position 2: ordinal no ...
- Python全栈之路----Python2与Python3
金角大王Alex python 之路,致那些年,我们依然没搞明白的编码 python2与python3的区别 py2 str = bytes 为什么有bytes? 是因为要表示图片.视频等二进制格式 ...
随机推荐
- PHP算法[转]
这里是用PHP写的几个基础算法,算法的重要性貌似对于PHP程序员不怎么重要,其实是非常重 要的,经典名句:算法+数据结构=程序.作为一名真正的高级PHP程序员,我认为应该熟悉C,如果你想成为真正的程序 ...
- 关于同PC上存在多个版本的GeneXus
如题 有的时候需要在不同的版本上开发 如我一般 有四个版本IDE 那么有的时候可能在安装的时候 提示安装失败 比如这样 这个时候你需要将安装好的GeneXus安装目录 全部备份一下 然后 从控制面 ...
- Python Web开发:使用Django框架创建HolleWorld项目
开发环境搭建 Python环境安装 下载地址:https://www.python.org/downloads// Django安装 打开Windows CMD输入pip install django ...
- 《YC创业营:硅谷顶级创业孵化器如何改变世界》:YC2011批量天使投资记录 三星推荐
这个YC创业营是一个硅谷的天使投资基金,每年两次批量投资创业公司.本书说的是2011年YC批量选择了64个创业团队,让他们集中到硅谷办公3个月,给他们创业指导,帮他们找A轮投资. YC创始人偏爱25岁 ...
- Codeforces 735E 树形DP
题意:给你一棵树,你需要在这棵树上选择一些点染成黑色,要求染色之后树中任意节点到离它最近的黑色节点的距离不超过m,问满足这种条件的染色方案有多少种? 思路:设dp[x][i]为以x为根的子树中,离x点 ...
- 应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序
一开始是报缺少dll,随便在电脑里找个同名的dll放下面就报这个错误,网上查的都没有用.后来又找了一个dll,问题就解决了,所以是dll不对造成的.
- vue星级评分组件
<template> <div class="Rating-gray"> <i v-for="(item,index) in itemCla ...
- 牛客网NOIP赛前集训营-提高组(第六场)B-选择题
题目描述 有一道选择题,有 a,b,c,d 四个选项. 现在有 n 个人来做这题,第 i 个人有 pi,j 的概率选第 j 个选项. 定义\(cnt(x)\)为选第$ x $个选项的人数. 令\(mx ...
- JDBC简单总结
几种常用数据库的JDBC URL 对于 Oracle 数据库连接,采用如下形式: jdbc:oracle:thin:@localhost:1521:sid 对于 SQLServer 数据库连接,采用如 ...
- Git 中关于一次完整的提交的命令
1.创建仓库(git init .git clone URL) 有两种新建 Git 项目仓库的方法.第一种是在本地通过初始化来创建新的 Git 仓库.第二种是从已有的 Git 远程仓库中克隆出一个仓库 ...