decode encode区别_python decode和encode

decode encode区别_python decode和encode#-*-coding:utf-8importsys”’*首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb231…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

#-*-coding:utf-8

import sys

”’

*首先要搞清楚,字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,

即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb2312’),表示将gb2312编码的字符串str1转换成unicode编码。

encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode(‘gb2312’),表示将unicode编码的字符串str2转换成gb2312编码。

总得意思:想要将其他的编码转换成utf-8必须先将其解码成unicode然后重新编码成utf-8,它是以unicode为转换媒介的

如:s=’中文’

如果是在utf8的文件中,该字符串就是utf8编码,如果是在gb2312的文件中,则其编码为gb2312。这种情况下,要进行编码转换,都需要先用

decode方法将其转换成unicode编码,再使用encode方法将其转换成其他编码。通常,在没有指定特定的编码方式时,都是使用的系统默认编码创建的代码文件。

如下:

s.decode(‘utf-8’).encode(‘utf-8’)

decode():是解码

encode()是编码

isinstance(s,unicode):判断s是否是unicode编码,如果是就返回true,否则返回false*

”’

”’

s=’中文’

s=s.decode(‘utf-8’) #将utf-8编码的解码成unicode

print isinstance(s,unicode) #此时输出的就是True

s=s.encode(‘utf-8’) #又将unicode码编码成utf-8

print isinstance(s,unicode) #此时输出的就是False

”’

print sys.getdefaultencoding()

s=’中文’

if isinstance(s,unicode): #如果是unicode就直接编码不需要解码

print s.encode(‘utf-8’)

else:

print s.decode(‘utf-8’).encode(‘gb2312’)

print sys.getdefaultencoding() #获取系统默认的编码

reload(sys)

sys.setdefaultencoding(‘utf8’) #修改系统的默认编码

print sys.getdefaultencoding()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184982.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月7日 下午12:36
下一篇 2022年10月7日 下午12:36


相关推荐

  • 小脑模型神经网络CMAC

    小脑模型神经网络CMAC一 简介 1 在对人类神经学的研究中 得知它由一些神经元覆盖组成 在这项研究的基础上 AlbusJ S 于 1975 年根据神经生理学小脑皮层结构特点提出了一种小脑模型关联控制器 经过多年的完善和发展 形成了成熟的小脑模型神经网络理论 CerebellarMo CMAC 2 CMAC 是一种查表型自适应神经网络 它可以准确地描述出非线

    2026年3月20日
    3
  • autoconf介绍1

    autoconf介绍1这里简单整理下这本书的第三章:configureyourprojectwithautoconf书中介绍,循序渐进。第一步:介绍了autoconf和M4宏,并整体运行了一遍,介绍了相关脚本的调用顺序和文件作用。第二步:通过autoconf将Makefile中定义为@VARIABLE@的变量替换,并通过VPATH进行远程构建。第三步:借助autoscan生成configure.ac,并说明文件中的宏含义。

    2022年6月4日
    33
  • 大数据数仓之报表开发

    大数据数仓之报表开发大数据数仓之报表开发 1 背景在大数据开发中 主要的数据分析目的可以分为 2 类 一类是基于历史数据 就算是实时数仓 接收到数据的时候 其实也已经是历史数据了 做数据规律或者结果提取 一类是基于历史数据 训练模型 做未来数据预测或者分类等 如果是前者 基于已有数据做数据规律和数据结果提取 这时候就可以称之为报表开发 参考神策系统 报表开发可以划分固定维度报表开发 一定维度自由组合报表开发 自由维度报表开发 固定维度报表开发 一般是一些固定指标 但会加一些固定维度 典型的如年 月 日等一定维度内自

    2026年3月26日
    2
  • double类型的输入与输出

    double类型的输入与输出scanf 用 lf 来接受 double 类型 printf 用 f 输出 double 类型原因 printf 的 f 说明符的确可以输出 float 类型也可以输出 double 类型 根据 默认参数提升 规则 float 型会被提升为 double 类型 对于 scanf 它接受指针 没有类似的类型提升 通过指针 向 float 存储和 double 存储大不一样 所以 scanf

    2025年12月10日
    5
  • 远程连接oracle01017,sqlplus远程sys用户登录ora 01017的解决方法[通俗易懂]

    远程连接oracle01017,sqlplus远程sys用户登录ora 01017的解决方法[通俗易懂]UsingORAPWDWhenyouinvokethispasswordfilecreationutilitywithoutsupplyinganyparameters,youreceiveamessageindicatingtheproperuseofthecommandasshowninthefollowingsampleoutput…

    2022年6月1日
    45
  • GPG error解决方案

    GPG error解决方案问题 sudoapt getupdate 时报错 GPGerror 解决方案 F42ED6FBAB17 是根据你报错那一行确定的 sudogpgkeyse ubuntu comrecvF42ED sudoapt keyadd 然后 sudoapt getupdate

    2026年3月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号