python bytes转换为string_Python3 中 bytes 和 string 之间的互相转换

Table of Contents

Python3 最重要的新特性大概要算是对文本(text)和二进制数据(binary data)作了更为清晰的区分。文本总是 Unicode,由 str 类型表示。

二进制数据则由 bytes 类型表示。

那么什么是 bytes、什么是 Unicode 呢?首先计算机能存储的唯一东西就是 bytes。所以为了在计算机中存储东西,我们首先得将其编码(encode),例如将其转化为 bytes。比如:要想保存音乐,我们首先得用 MP3, WAV 等将其编码

要想保存图片,我们首先得用 PNG, JPEG 等将其编码

要想保存文本,我们首先得用 ASCII, UTF-8 等将其编码

Unicode 是字符集,不是字符编码。Unicode 把全世界的字符都搜集并且编号了,但是没有规定具体的编码规则。编码规则有 UTF-8、GBK 之类的。

Python3 不会以任意隐式的方式混用 str 和 bytes。正是这使得两者的区分特别清晰,你不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然)。

创建 bytes 型数据

使用 Python3 的内置函数 bytes 函数。

class bytes([source[, encoding[, errors]]])

>>> bytes([1,2,3,4,5,6,7,8,9])

b'x01x02x03x04x05x06x07x08t'

>>> bytes("python", 'ascii') # 字符串,编码b'python'

创建字符串

>>> website = 'http://www.jb51.net/'

>>> type(website)

>>> website'http://www.jb51.net/'

相互转换

如果你仔细看给的 SO 链接那个有 bounties 的回答的话,就应该知道将 string 转化成 bytes 首先需要进行编码(encode),而 encode 是可以使用许多不同的 encodings 的

string to bytes

按 utf-8 的方式编码,转成 bytes

>>> website_bytes_utf8 = website.encode(encoding="utf-8")

>>> type(website_bytes_utf8)

>>> website_bytes_utf8b'http://www.jb51.net/'

按 gb2312 的方式编码,转成 bytes

>>> website_bytes_gb2312 = website.encode(encoding="gb2312")

>>> type(website_bytes_gb2312)

>>> website_bytes_gb2312b'http://www.jb51.net/'

bytes to string

解码成 string,默认不填

>>> website_string = website_bytes_utf8.decode()

>>> type(website_string)

>>> website_string'http://www.jb51.net/'

解码成 string,使用 gb2312 的方式

>>> website_string_gb2312 = website_bytes_gb2312.decode("gb2312")

>>> type(website_string_gb2312)

>>> website_string_gb2312'http://www.jb51.net/'

参考资料

Python3 中 bytes 和 string 之间的互相转换(原来的文章是转这个的,但是一年后的我看这篇文章觉得是真的水的不能再水,连个外链都没,不知道当时为啥转那篇文章,因此本文又重新改了下)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527270.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言中如何打出草花图案,C语言程序设计程设计题目1.doc

C语言程序设计程设计题目1通信工程10级C语言课程设计任务书各位同学可以自由组合,不超过以下题目中所规定的人数进行选题(不允许重复选题)。辅导时间:另定地点:软件中心(语音楼8楼)答辩检查时间:18周星期五上午8:00起1…

android 字体像素转换工具类_android工具类,转换大小写,保留小数点处理方法

import java.text.DecimalFormat;import java.util.Scanner;/*** 金额转换** author Administrator*/public class ConvertMoney {// 大写数字private final static String[] STR_NUMBER {"零", "壹", "贰", "叁", "肆", &…

android 百度地图开发 怎么减小包的大小,最新的百度地图Android开发包中,如何隐藏右下角的放大缩小控件...

2016-02-24 回答// 隐藏缩放控件int childcount mmapview.getchildcount();view zoom null;for (int i 0; i < childcount; i) {view child mmapview.getchildat(i);if (child instanceof zoomcontrols) {zoom child;break;}}zoom.setvisibility(view.gone);// 隐藏比例…

python换源还是不行_浅析Python3 pip换源问题

pip安装源背景#在实际开发中, 可能要大量使用第三方模块(包), 更换至国内下载源, 可大幅提升下载速度"""1、采用国内源&#xff0c;加速下载模块的速度2、常用pip源&#xff1a;-- 豆瓣&#xff1a;https://pypi.douban.com/simple-- 阿里&#xff1a;https://m…

vs2017 cmake android,CMake构建VS2017工程

1 安装VS2017/cmake2 工程开发3 生成VS2017工程4 参考资料1 安装VS2017/cmake软件安装&#xff1a;Visual Studio官网下载Visual Studio Community 2017,该版本是适用于学生、开源和个人开发人员的功能完备的免费IDE。Visual Studio Community 2017还可以免费安装Incredibuild&…

发明导诊机器人团队_潮阳这个医院来了一位智能导诊机器人!

(原标题&#xff1a;大峰医院来了一位智能导诊机器人&#xff0c;镇街卫生院服务配套更完善&#xff0c;我区就医环境变化这么大……)区卫健系统各医疗单位严格按照全国文明城市实地考察场所创建标准&#xff0c;对标对表落实各项措施及制度&#xff0c;就医环境和医疗服务水平…

android是语言吗,android – 内容描述应该是多种语言吗?

你的第一个问题没有完美的答案.但是,由于您正在开发多语言应用程序,我建议您为您关心的语言进行翻译.它可能取决于您的应用程序的目标用户.例如,如果您的目标用户是韩语,那么如果您可以为他们翻译会更好,不是吗&#xff1f;对于第二个问题,如果您的用户使用您未提供的语言,它将…

android按钮变输入框动画,AnimShopButton 仿饿了么加入购物车旋转控件 - 自带闪转腾挪动画 的按钮。自带海量可定制 UI 属性。在 Re @codeKK Android开源站...

A shopping cart button with a telescopic displacement rotation animation ...一个仿饿了么 带伸缩位移旋转动画的购物车按钮注意&#xff0c;本控件非继承自ViewGroup,而是纯自定义 View&#xff0c;实现的仿饿了么加入购物车控件&#xff0c;自带闪转腾挪动画的按钮。图 1…

表格外粗内细怎么设置_金游艇复刻机芯-N厂灰游艇价格 | 复刻表评测

GM厂劳力游艇名仕型系列&#xff0c;官方2019年度机芯搭配全线更新为cal. 3235机芯&#xff0c;同时&#xff0c;在表盘六点位上有劳力皇冠的防伪LOGO。GM厂经历一年&#xff0c;在3135的基础上开发一体出3235机芯&#xff0c;功能与结构等完美还原于正品机芯。而且&#xff0c…

html中输出语句怎么写,javascript怎么输出?

JavaScript怎么输出&#xff1f;输出方式有哪些&#xff1f;下面本篇文章就给大家介绍JavaScript的几种输出方式&#xff0c;希望对大家有所帮助。方法1&#xff1a;使用window.alert()进行输出window.alert()方法用于显示带有一条指定消息和一个【确认】 按钮的警告框。代码示…

cron每2天跑一次_直购直测,进口新极光每2年或34000公里才需要保养一次?

我们选择以第 2 代揽胜极光P200 R-Dynamic S 车型&#xff0c;作为执行 [ 直购直测 ] 单元的第 12 辆车款&#xff0c;而在先前包含购车篇说明选择原因、油耗测试篇带大家一探具备轻油电技术的极光 P200 R-Dynamic S 油耗表现后&#xff0c;本次则是要带大家看看揽胜极光回厂定…

html5的高级选择器,web@css高级选择器(after,befor用法),基本css样式

1.高阶选择器:子代后代&#xff0c;相邻通用兄弟&#xff0c;交集并集&#xff0c;属性&#xff0c;伪类&#xff0c;伪元素子代后代选择器div>p{} div p{}相邻通用兄弟divp{} div~p{}理解&#xff1a;div同学的同桌p div同学的【同学(有p的)】交集并集选择器div,p di…

rrt算法流程图_RRT算法移动机器人路径规划(快速扩展随机树).pdf

( )第 34 卷 第 5期 南京理工大学学报 自然科学版 Vo l. 34 No. 520 10年 10 月 Journal of N anj ing Un iversity of Science and Techno logy (N atu ral Science) O ct. 20 10基于模糊滚动 RRT算法的移动机器人路径规划康  亮 ,赵春霞 ,郭剑辉(南京理工大学 计算机科学与技…

yui3 html属性,YUI Rich Editor + invalidHTML + style

问题I am trying to insert an inline style tag into the editor content. When I call saveHTML it strips out the style block when Im in rich editor view. I have tried changing the style property of invalidHTML to false, but it still seems to strip the style b…

hhkb mac设置_把 HHKB 放在 MacBook 上使用的解决方案

我现在用的是一台 15 寸带 Touch Bar 的 MacBook Pro &#x1f9d1;&#x1f3fb;‍&#x1f4bb;。我一直是把 HHKB 键盘架在 MacBook 键盘 ⌨️ 上面使用的&#xff0c;就像下面这样。HHKB 放在 MacBook 上尺寸刚刚好&#xff0c;缺点就是挡住了 Touch Bar&#xff0c;不过对…

五年一贯制专转本计算机网络真题,金陵科技学院2017年五年一贯制专转本考试大纲(计算机网络基础)...

一、参考书目&#xff1a;《计算机网络技术与应用(第2版)》&#xff0c;段标、张玲主编&#xff0c;电子工业出版社&#xff0c;出版时间&#xff1a;2011年12月。二、考试形式&#xff1a;闭卷&#xff0c;考试时间90分钟三、考试内容和要求(一)考试要求1.计算机网络理论知识●…

带电检测必要性_接地电阻检测分析的必要性

无论是为保障电力系统正常运行所需要设置的接地&#xff0c;如三相系统的中性点接地等&#xff1b;还是为了人身安全将电气设备的金属外壳等接地&#xff0c;保证金属外壳固定为地电位&#xff0c;一旦设备绝缘损坏使外壳带电时不致产生危险的电位升高&#xff0c;引起工作人员…

html中basefont标签,HTML的basefont标签

HTML 标签只有 Internet Explorer 支持 标签。应该避免使用该标签。定义和用法 ( 推荐学习&#xff1a;html教程 )标签定义基准字体。该标签可以为文档中的所有文本定义默认字体颜色、字体大小和字体系列。HTML 与 XHTML 之间的差异在 HTML 4.01 中&#xff0c;不赞成使用 ba…

python隐式等待_selenium中隐式等待和显示等待的区别

Selenium显示等待和隐式等待的区别1、selenium的显示等待原理&#xff1a;显示等待&#xff0c;就是明确的要等到某个元素的出现或者是某个元素的可点击等条件&#xff0c;等不到&#xff0c;就一直等&#xff0c;除非在规定的时间之内都没找到&#xff0c;那么久跳出Exception…

中山大学计算机类专业分数线,中山大学计算机类专业2016年在广东理科高考录取最低分数线...

类似问题答案中山大学计算机类专业2016年在天津理科高考录取最低分数线学校 地 区 专业 年份 批次 类型 分数 中山大学 天津 计算机类 2016 一批 理科 629 学校 地 区 专业 年份 批次 类型 分数 中山大学 天津 计算机类 2016 一批 理科 629 中山大学 天津 计算机类 2015 一批 理…