python 字节与字符串转换
1、如果没有设置字符串编码格式,那么将采用系统默认编码格式
name = 'laogaoyang' # 采用系统默认编码格式
nameBytes = name.encode('utf-8') # 先将 name 解码(采用系统默认格式),然后用 'utf-8' 编码
nameStr = nameBytes.decode('utf-8') # 用什么格式编码就需要用同样格式去解码,否则出错
说明:
name.encode('utf-8')  此处将 name 重新编码为 'utf-8',要重新编码首先要解码,此处并没有指明解码方式,那么将采用系统的默认解码格式(编解码格式相同,不会出错)
2、主动设置字符串编码格式为 'utf-8',假设系统编解码格式为 'ascii'
# -*- coding: utf-8 -*-
name = 'laogaoyang' # 采用指定的编码格式 'utf-8'
nameBytes = name.encode('utf-8') # 这里出错了
说明:
上一个例子编码成 'utf-8' 是正常的,因为编解码格式相同
此处编码采用 'utf-8'格式,并没有指明解码方式,那么将采用系统的默认解码格式(即 'ascii', 编解码格式不相同,出错),修正方法有两种,如下所示
明确指定解码格式
# -*- coding: utf-8 -*-
name = 'laogaoyang' # 采用指定的编码格式为 'utf-8'
nameBytes = name.decode('utf-8').encode('utf-8')
修改默认解码格式
# -*- coding: utf-8 -*-
import sys
sys.setdefaultencoding('utf-8')
name = 'laogaoyang' # 采用指定的编码格式 'utf-8'
nameBytes = name.encode('utf-8')
python 字节与字符串转换的更多相关文章
- python 数字和字符串转换问题
		
一.python中字符串转换成数字 (1)import string tt='555' ts=string.atoi(tt) ts即为tt转换成的数字 转换为浮点数 string.atof(tt) ( ...
 - python :eval将字符串转换成字典
		
#将字符串打印成字典 b=''' {'record': {'weight':20,'server':'100.1.7.9','maxconn':50},'backend': 'www.oldboy.o ...
 - python 字节与字符串转化
		
name = 'laogaoyang' # 采用系统默认编码格式 nameBytes = name.encode('utf-8') # 先将 name 解码(采用系统默认格式),然后用 'utf-8' ...
 - Python 字节与字符串的转换
		
html = urlopen("http://www.cnblogs.com/ryanzheng/p/9665224.html") bsObj = BeautifulSoup(ht ...
 - python学习之字符串转换
		
配置环境:python 3.6 python编辑器:pycharm 代码如下: #!/usr/bin/env python #-*- coding: utf-8 -*- def strCase() ...
 - python  UTC,时间戳,字符串转换
		
#!/usr/bin/env python #_*_coding:utf-8_*_ # 本地时间 转换 为时间戳 import time import pytz import datetime dat ...
 - 字符编码 and 字节和字符串转换(待补充)
		
ascii用一个字节(8位二进制)代表一个字符 Unicode常用2个字节(16位二进制)代表一个字符,生僻字需要用四个字节 汉字中已经超出了ASCII编码的范围,用Unicode, Unicode兼 ...
 - python 基础 列表 字符串转换
		
1. 字符串转列表 str1 = "hi hello world" print(str1.split(" "))输出:['hi', 'hello', 'worl ...
 - python中字节与字符串的转换
		
#bytes object byte = b"byte example" # str object str = "str example" ...
 
随机推荐
- Hibernate学习总结
			
首先声明这是个坑爹的框架 属于ssh经典框架中的持久层框架,说白了就是管理数据库的. 下载地址:http://hibernate.org/orm/ 这里写了版本5.2,下载下来的基本不怎么会用,因为文 ...
 - DllImport dll中有些啥函数 及 dll中是否用到了别的dll
			
在加载dll的时候不知道dll中有哪些接口怎么办,或者使用别人封装的东西时报出类似于“无法在 DLL“XXX.dll”中找到名为“XXX函数”的入口点.” 1.通过LordPE这个软件来看dl ...
 - C# “配置系统未能初始化” 异常解决
			
使用App.config配置参数,读取参数出现错误 “System.Configuration.ConfigurationErrorsException”类型的未经处理的异常在 System.Conf ...
 - 谈谈我对PhoneGap的看法——(摘自唐巧的技术博客)
			
源地址:http://blog.devtang.com/blog/2012/03/24/talk-about-uiwebview-and-phonegap/ 主题部分 我认为PhoneGap有以下3大 ...
 - <?xml version="1.0" encoding="utf-16"?>. use different encoding
			
public string Serialize<T>(T serializeClass) { string xmlString = string.Empty; try { if (seri ...
 - Spring4学习笔记-AOP
			
1.加入jar包 com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspectj.weaver-1.6.8.RELEAS ...
 - oarcle数据库导入导出,创建表空间
			
oracle导入导出(前提,本机已经安装oracle和oracle客户端)导出命令: exp username/password@192.168.1.138/ORCL file=c:\test.dmp ...
 - Linux 脚本 sh 和 ./ 的区别
			
如果.不在PATH里面,要执行当前目录下的可执行文件,使用全路径:./executable-file PATH是环境变量,如果将当前目录“./”添加到环境变量中,那么也可以不用“./”,直接输入当前目 ...
 - 通过mongodb客户端samus代码研究解决查询慢问题
			
最近有项目需要用到mongodb,于是在网上下载了mongodb的源码,根据示例写了测试代码,但发现一个非常奇怪的问题:插入记录的速度比获取数据的速度还要快,而且最重要的问题是获取数据的速度无法让人接 ...
 - 【转】如何确定Kafka的分区数、key和consumer线程数
			
文章来源:http://www.cnblogs.com/huxi2b/p/4583249.html -------------------------------------------------- ...