python的decode()与encode()详解 - CSDN博客
文章推薦指數: 80 %
1.decode()bytes.decode(encoding=“utf-8”, errors=“strict”)1.这个函数是bytes类型数据调用的,字符串str类型是不能够调用的。
python的decode()与encode()详解
moisiet
已于 2022-05-0812:56:40 修改
11455
收藏
78
分类专栏:
Python
文章标签:
decode
encode
于 2019-01-1410:20:04 首次发布
版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_27056805/article/details/86469647
版权
Python
专栏收录该内容
8篇文章
0订阅
订阅专栏
unicode编码方案:unicode只规定了每个字符所对应的码值(码点),即编码,但并没有规定如何在计算机中实现。
同一个字符,可通过utf-8、utf-16、utf-32、gb2312(对中文)等多种方式各自实现。
encode()方法就是将unicode编码方式转化为对应的实现方式,而decode()相反,将实现方式转化为编码。
1.decode()
bytes.decode(encoding=“utf-8”,errors=“strict”)1.这个函数是bytes类型数据调用的,字符串str类型是不能够调用的。
(好多文章说字符串也可以调用该函数,我是真搞不懂。
)2.该函数返回字符串。
换句话说是bytes类型转化成str类型的函数。
3.encoding规定解码方式。
bytes数据是由什么编码方式编码的,该函数encoding参数就必须用相应解码方式,这样才能返回正确字符串。
解码后的字符串自动转为unicode编码方式。
4.errors参数默认为strict,即解码错误后引起异常发生。
其他参数值为ignore,replace等。
2.encode()
str.encode(encoding=“utf-8”,errors=“strict”)参数含义同上。
这个函数将字符串转化成相应编码方式的字节形式。
对于ASCII字符(数字,英文,部分标点符号)而言,不同编码方式编码后的字节是一样的。
但是对于中文来说,编码后的字节不一样。
3.转码
例如,我有一个中文网站,网站编码方式为gb2312,我通过requests请求后要将网页打印出来。
但是python内部是unicode编码的,直接response.text肯定会返回乱码。
importrequests
url_all="https://www.kanunu8.com/"
header_all={
'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/71.0.3578.98Safari/537.36',
'upgrade-insecure-request':'1',
}
defget_classification_urls(url,headers):
try:
response=requests.get(url,headers=headers,timeout=10)
ifresponse.status_code==200:
print(response.text))
exceptExceptionase:
print(e)
如下图,果然乱码这时就需要正确解码,即将gb2312解码为unicode.我们可以这样:1.先获取编码的二进制格式,该格式为gb2312编码的二进制:
bytes=response.content
2.将二进制格式通过decode()函数解码为unicode格式:
bytes.decode(encoding="gb2312")
decode()函数是bytes类型转str类型,这样就能够返回正确的字符串了。
当然,这个例子即使通过gb2312解码,仍然是乱码。
原因可能是原网页含有gb2312不能识别的字符(虽然gb2312是为中国文字服务的,但是有些少数名族的字符也属于中国文字,但是并没有包含在gb2312内)。
后来为了扩充编码,由在gb2312基础上增加了gbk和gb18030编码,二者范围更广。
事例用gb18030即可正确解码。
moisiet
关注
关注
20
点赞
踩
78
收藏
打赏
11
评论
python的decode()与encode()详解
1.decode()bytes.decode(encoding=“utf-8”,errors=“strict”)1.这个函数是bytes类型数据调用的,字符串str类型是不能够调用的。
(好多文章说字符串也可以调用该函数,我是真搞不懂。
)2.该函数返回字符串。
换句话说是bytes类型转化成str类型的函数。
3.encoding规定解码方式。
bytes数据是由什么编码方式编码的,该函数enc...
复制链接
扫一扫
专栏目录
详解Python解决抓取内容乱码问题(decode和encode解码)
01-20
一、乱码问题描述
经常在爬虫或者一些操作的时候,经常会出现中文乱码等问题,如下
原因是源网页编码和爬取下来后的编码格式不一致
二、利用encode与decode解决乱码问题
字符串在Python内部的表示是unicode编码,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb2312′),表示将gb2312编码的字符串str1转换成unicode编码。
encode的作用是将un
python的encode()和decode()的用法及实例
最新发布
weixin_50853979的博客
07-07
1182
很多时候我们读取数据容易看到的是乱码,因为编写这个文件的人为了存储、私密保存等原因会用utf-8、gbk、ASCII等进行编码。
编码我们可以用encode方法,解码我们可以用decode方法。
目录1.encode函数的用法及实例(1)encode()的语法(2)用法:将目标字符串str编写为目标二进制数据bytes类型,即为编码过程。
(3)实例①转为目标bytes类型②查看返回类型2.decode函数的用法及实例(1)decode()的语法(2)用法:将目标二进制数据bytes转为目标字符串str类型,即为
评论 11
您还未登录,请先
登录
后发表或查看评论
python中的encode()和decode()函数
热门推荐
m0_38080253的博客
12-19
14万+
对于很多人来说,python的中字符转码是一件很头疼的事情,本来期望结果输出的是中文,结果来一段像这样\xe4\xbd\xa0\xe5\xa5\xbd像是乱码的字符串。
由于学python没多久,昨天使用python的时候,就遇到这种问题,现在来深入研究下与之相关的encode()和decode()函数,和如何把如乱码般的字符串转成中文。
encode()和decode()都是字符串的函数,可直接查看关
详解Python解决抓取内容乱码问题(decode和encode解码).pdf
11-22
详详解解Python解解决决抓抓取取内内容容乱乱码码问问题题decode和和encode解解码码这篇文章主要介绍了Python解决抓取内容乱码问题decode和encode解码文中通过示例代码介绍的非常详细对大家的学习或者作具有一定的参考学习价值需要的朋友们下面随着小编来一起学习学习吧一一乱乱码问题描描述述经常在爬虫或者一些操作的时候经常会出现中文乱码等问题如下原因是源网页编码和
decode()的用法
杨扣扣
10-16
3772
decode()函数:主要作用:将查询结果翻译成其他值,以其他形式表现出来。
使用方法:
Selectdecode(column数据行名,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
Fromtalbename Where条件
·含义解释:
decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)的理解如下:
if(条件==值1)
Eclipse编码修改和设置
kevin_cat的博客
10-26
111
编码修改分类:
1.工作空间编码
2.项目编码
3.文件编码
1.工作空间编码
2.项目编码
3文件编码修改
python中encode和decode的区别
网络小鱼儿
06-26
325
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。
encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表
pythonencodedecode方法
sf505036157的博客
05-14
120
Pythonencode()方法
encode()方法为字符串类型(str)提供的方法,用于将str类型转换成bytes类型,这个过程也称为“编码”。
encode()方法的语法格式如下:
str.encode([encoding=“utf-8”][,errors=“strict”])
注意,格式中用[]括起来的参数为可选参数,也就是说,在使用此方法时,可以使用[]中的参数,也可以不使用。
该方法各个参数的含义如表1所示。
表1encode()参数及含义
参数 含义
str 表
Pythonencode()方法
plan_jok的博客
11-18
262
描述
Pythonencode()方法以encoding指定的编码格式编码字符串。
errors参数可以指定不同的错误处理方案。
语法
encode()方法语法:
str.encode(encoding=‘UTF-8’,errors=‘strict’)
参数
encoding–要使用的编码,如"UTF-8"。
errors–设置不同错误的处理方案。
默认为‘strict’,意为编码错误引起一个UnicodeError。
其他可能得值有‘ignore’,‘replace’,‘x..
SQL中decode()函数使用介绍
xingandxin的博客
08-07
5842
【SQL】SQL中decode()函数介绍
主要作用:将查询结果翻译成其他值(即以其他形式表现出来)
decode()函数的语法:
select
decode(columnname,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
Fromtalbename
Where…
//相当于if判断语句
//Anhighlightedblock
varfoo='bar';
...
Decode()函数使用技巧
weixin_33860528的博客
07-04
654
decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)该函数的含义如下:IF条件=值1THEN RETURN(翻译值1)ELSIF条件=值2THEN RETURN(翻译值2) ......ELSIF条件=值nTHEN RETURN(翻译值n)ELSE RETURN(缺省值)ENDIF·使用方法:1、比较...
python中encode()函数的用法
九天小牛
10-12
3万+
python字符串函数用法大全链接
encode()函数
描述:以指定的编码格式编码字符串,默认编码为'utf-8'。
语法:str.encode(encoding='utf-8',errors='strict') ->bytes(获得bytes类型对象)
encoding参数可选,即要使用的编码,默认编码为'utf-8'。
字符串编码常用类型有:utf-8,gb2...
pythonencode和decode傻傻分不清楚
分享自己浅浅的知识
04-03
694
一、字符串和字节串的区别
1、字符串:我们最常挂在嘴边的,”普通字符串“,是给人看的,在python中是str类型,str使用的是unicode编码,可通过encode()方法编码为字节串
2、字节串:有时也叫“二进制字符串”,是给机器看的,在python中是bytes类型,bytes有编码格式,如utf-8(默认),gbk,可以通过decode()方法解码为字符串
具体操作如下
1、程序从文件或其他外部存储读取字节串内容,要将基解码为字符串,然后再内部使用
2、程序完成处理,要把字符串写入文件
decode()函数使用
yogaphang的博客
08-10
291
转:http://www.cnblogs.com/freespider/archive/2010/08/09/1795977.htmldecode()函数简介:主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明);使用方法:Selectdecode(columnname,值1,翻译值1,值2,翻译值2,…值n,翻译值n,缺省值)FromtalbenameWhere…其中col
pythonencode用法_Python中decode和encode如何使用?
weixin_39717692的博客
12-15
449
在python中,我们通常使用的是unicode编码,但是日常文本使用各类编码为utf-8,编码的类型不一样,就容易造成乱码。
为了避免读写操错误,我们需要进行转码则需要decode(解码)和encode(编码)方法。
1、decode的作用是将其他编码的字符串转换成unicode编码将bytes类型转换为str类型(b.decode())2、encode的作用是将unicode编码转换成...
c#的decode用法
bsdbqling的博客
04-18
5212
描述Pythondecode()方法以 encoding 指定的编码格式解码字符串。
默认编码为字符串编码。
语法decode()方法语法:str.decode(encoding='UTF-8',errors='strict')参数encoding--要使用的编码,如"UTF-8"。
errors--设置不同错误的处理方案。
默认为'strict',意为编码错误引起一个UnicodeErro...
Python解码(解密)函数decode
greatwind的博客
03-15
849
decode
str.decode(encoding='UTF-8',errors='strict')
decode函数的主要作用是通过encoding指定的编解码器对字符串str进行解码。
参数
encoding:字符串str的编码格式,如"UTF-8"。
errors:设置不同错误的处理方案。
默认为‘strict’,意为编码错误引起一个UnicodeError。
其他可能得值有‘ignore’,‘replace’,‘xmlcharrefreplace’,‘backslashreplace’
python中decode和encode的区别
IAlexanderI的专栏
02-23
407
#-*-coding:utf-8importsys'''*首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb231...
pythondecode方法_Python中decode()方法有哪些功能?
weixin_31510897的博客
02-02
791
摘要:下文讲述Python中decode()的方法的功能简介说明,如下所示:decode()方法功能:使用指定编码格式对bytes对象进行解码,缺省编码格式为“utf-8”decode()方法语法bytesObj.decode([encoding='utf-8'][,errors='strict'])--------参数说明--------bytesObj:待解码的bytes对象encoding:...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
moisiet
CSDN认证博客专家
CSDN认证企业博客
码龄8年
暂无认证
21
原创
50万+
周排名
163万+
总排名
11万+
访问
等级
1454
积分
22
粉丝
84
获赞
23
评论
415
收藏
私信
关注
热门文章
chrome--浏览器调试工具详解
12062
python的decode()与encode()详解
11398
R-数据分割(附代码)
11438
机器学习--模型参数优化及scoring可选参数
9139
git-重命名文件,提交补救,修改
7272
分类专栏
C#
1篇
网络基础
2篇
R语言
5篇
git命令
4篇
爬虫
7篇
Python
8篇
Redis
1篇
机器学习
6篇
Django
3篇
最新评论
贝叶斯分类器-R语言实战
m0_52223343:
想问下f_1,f_2是什么呀
贝叶斯分类器-R语言实战
m0_52223343:
想问下f_1,f_2是什么呀
贝叶斯分类器-R语言实战
m0_52223343:
想问下f_1,f_2是什么呀
git-将本地代码上传github步骤(附代码)
天黑不想回家:
学到了,讲的挺细的啊。
python的decode()与encode()详解
renjie0310:
彻底被搞疯掉了,上面字节类型decode自动unicode,下面直接又是utf-8,是我理解我问题还是那出问题了,上面的例子不是在python环境吗?
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
C#-ReaderWriterLockSlim的递归策略(NoRecursion与SupportsRecursion)
MySql语句练习50题
子网掩码概念及计算
2022年1篇
2020年3篇
2019年26篇
2018年8篇
目录
目录
分类专栏
C#
1篇
网络基础
2篇
R语言
5篇
git命令
4篇
爬虫
7篇
Python
8篇
Redis
1篇
机器学习
6篇
Django
3篇
目录
评论 11
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
moisiet
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:--)
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值
延伸文章資訊
- 1python的decode()与encode()详解 - CSDN博客
1.decode()bytes.decode(encoding=“utf-8”, errors=“strict”)1.这个函数是bytes类型数据调用的,字符串str类型是不能够调用的。
- 2Python String decode() Method - Tutorialspoint
Description. Python string method decode() decodes the string using the codec registered for enco...
- 3What is the difference between encode/decode in Python?
- 4Python decode()方法 - 極客書
decode()方法使用注冊編碼的編解碼器的字符串進行解碼。它默認為默認的字符串編碼。 語法以下是decode()方法的語法: str . decode ( encoding = UTF-8 ,...
- 5Day27 Python 基礎- 字符轉編碼操作 - iT 邦幫忙
coding:utf-8 -*- import sys print(sys.getdefaultencoding()) # 打印出目前系統字符編碼s = '你好' s_to_unicode = ...