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


相关推荐

  • MySQL下载与安装

    MySQL下载与安装MySQL下载与安装一、下载地址:https://dev.mysql.com/downloads/mysql/当前最新是8.0版本,我选择上一个最新的mysql-5.7.24-winx64.zip二、安装MySQL安装文件分两种.msi和.zip,.msi需要安装zip格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行环境变量配置zip格式是自己解压我…

    2022年6月4日
    43
  • Android Activity的四种启动模式

    Android Activity的四种启动模式前言记得第一次探讨 Activity 的启动模式 是在 2017 年 8 月份 那个时候对一年后走出校门的未来很是憧憬 时间真快 已经毕业四个月 工作和生活也都趋于稳定 一 小前言相信很多人和我一样 在初学 Android 甚至初入职场的时候不了解 Acticity 的启动模式 或者为了面试刷题刷到了 但并不理解启动模式的作用 以及如何正确的使用启动模式而不是所有的都是用默认模式 二 Activi

    2026年3月19日
    1
  • 01_activiti7 学习笔记

    01_activiti7 学习笔记

    2021年7月12日
    86
  • java中人民币的符号怎么打_打印机打印人民币符号¥

    java中人民币的符号怎么打_打印机打印人民币符号¥1 打印机打印人民币符号 标准字库中的全角字符 双字节 的人民币符号为单羊角符 编码为 a3a4 没有双羊角符 而半角字符 单字节 没有人民币符号 只有美元符号 编码为 0x24 而实际上人民币符号一般都是应用在金额等数字组成半角字符 单字节 中 只有这样才和数字等宽 所以一般银行系统都会发 0x24 到打印机 而打印机可根据客户实际要求打印出 等货币符号 具体为修改打印机

    2026年3月19日
    2
  • 解决cydia bigboss源空白

    解决cydia bigboss源空白如果出现 cydia 源空白可以按照以下方式来操作先删除 bigboss 源从管理页面进入软件包管理找到 cydiainstall 并选择重新安装在主页面更多源中添加 bigboss 原文地址 Bigboss 源空白

    2026年3月19日
    2
  • Moltbook:OpenClaw的社交网络

    Moltbook:OpenClaw的社交网络

    2026年3月13日
    2

发表回复

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

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