位置: 编程技术 - 正文

python中的编码知识整理汇总(python编码大全)

编辑:rootadmin

推荐整理分享python中的编码知识整理汇总(python编码大全),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python编码问题怎么解决,python编码的编码规范,python 编码问题,编码 python,python编码表,python编码的编码规范,python编码表,python编码函数,内容如对您有帮助,希望把文章链接给更多的朋友!

问题

在平时工作中,遇到了这样的错误:

想必大家也都碰到过,很常见 。于是决定对python的编码做一个整理和学习。

基础知识

在python2.x中,有两种数据类型,unicode和str,这两个都是basestring的子类

两者的区别,概括来讲,str是字节串,由unicode经过编码(encode)后的字节组成的(好比与python3.x的byte);unicode是对象,才是真正意义上的字符串,由字符组成

控制台和脚本

python中的编码知识整理汇总(python编码大全)

在linux下的python控制台执行以下命令,所得的结果和执行脚本是不同的

可以看到,u'中文'初始化的对象a不是我们所期望的,那究竟是什么原因呢?将python看成是一根管子,管子里头处理的中间过程都是使用unicode的。入口处,全部转成unicode;出口处,再转成目标编码(当然,有例外,处理逻辑中要用到具体编码的情况)。在控制台执行命令a = u'中文',可以将解释为命令,a = ‘中文'.decode(encode),从而到到unicode对象a。那么这里的encode是什么呢?对于控制台来说,就是标准输入,即sys.stdin.encoding

我的这边控制台默认的编码是ISO--1,故a = u'中文' <=> a = '中文'.decode('ISO--1')这里的'中文'是控制台理解的,即使根据终端编码方式编码后的字节码,对于utf-8编码的终端,'中文'='\xe4\xb8\xad\xe6\x\x'

那如何修改此编码值呢,设置为什么呢?在linux环境中设置环境变量方法如下,具体设置什么只要与终端编码方式一直即可

总结

重新回到最初的那个问题,造成问题的原因是没有搞清楚unicode和str的区别,将两者进行了混用。

以上的对象a其实是str,即字节码,若终端是utf-8编码的话,那么a就是用utf-8 encode的字节码。a.encode('gbk') 等价于a.decode(encoding).encode('gbk'),即先将字节码解码为unicode字符,然后再encode为字节码。unicode对象作为中转站。那么这里的encoding是什么呢?

默认是ascii,这正是错误为什么报无法用ascii解码的原因

将默认编码改为utf-8,即可。不鼓励对str使用encode方法,因为其中隐式对str进行了解码。decode只对str,encode只对unicode,一切decode/encode都显示指定编码方式。

Python函数中*args和**kwargs来传递变长参数的用法 单星号形式(*args)用来传递非命名键可变参数列表。双星号形式(**kwargs)用来传递键值可变参数列表。下面的例子,传递了一个固定位置参数和两个变长参

举例讲解Python设计模式编程中的访问者与观察者模式 访问者模式我觉得Visitor模式是在补修改已有程序结构前提下,通过添加额外的访问者完成对代码功能的拓展为什么这样用?当你的类层次较多,在某层

python实现文本去重且不打乱原本顺序 代码也是在网上找的,效率挺不错的,特别适合字典文件的去重#coding=utf-8importsysdefopen_txt():#打开TXT文本写入数组try:xxx=file(sys.argv[1],'r')forxxx_lineinxxx.readli

标签: python编码大全

本文链接地址:https://www.jiuchutong.com/biancheng/381313.html 转载请保留说明!

上一篇:在MAC上搭建python数据分析开发环境(mac怎么编写python)

下一篇:Python函数中*args和**kwargs来传递变长参数的用法(Python函数中仅允许有一条return语句)

  • 交强险必须交车船使用税吗
  • 为什么应交增值税记在借方
  • 收到红字发票如何申报增值税?
  • 消费卡预付卡能入账吗
  • 小微企业免税收入有哪些
  • 应付股利科目设置
  • 出口发票金额和备注了差了1分钱
  • 存货扣税比是什么意思?
  • 土地增值税清算时间
  • 每季度财务报表
  • 海关票怎么认证
  • 申报的国家资助的一个项目如何进行账务处理?
  • windows在cmd设置变量
  • 清华同方笔记本怎么进入u盘启动
  • 应付账款暂估借方余额怎么处理
  • 商贸公司商品品种规格多如何核算
  • 汇算清缴租赁费包括物业管理吗
  • php部署在什么服务器
  • css 栅格
  • 富士通FUJITSU笔记本电脑开机进入BIOS的方法(F2)
  • php数组操作
  • windows11怎么查询激活时间
  • 集团内部调拨账务处理
  • PHP:Memcached::getVersion()的用法_Memcached类
  • 原材料和固定资产入账价值的计算
  • 银行借款利息支出计入什么科目
  • wordpresscom
  • 库存商品交增值税吗
  • 本月营业利润
  • 非盈利组织盈利怎么办
  • u-net优点
  • 公司汽车折旧计算方法用那种
  • thinkphp框架结构
  • 如何认识软件测试
  • mysql的排序规则
  • php curl_init
  • 非税收入票据是什么意思
  • 个人所得税生产经营所得税怎么申报
  • 结转成本相关内容有哪些
  • 企业出租无形资产使用权取得的收入应计入
  • 长期借款期末需结转吗
  • 财务报表的作用包括?
  • 政府返还的个税手续费会计分录
  • 营业总收入包括营业外收入吗
  • 营改增之后发票的变化
  • 采购供应部门发挥的作用
  • mysql数据库恢复方式
  • 党建工作经费1%
  • 店面收回转让费怎么办
  • 发票拍照打印出来可以报销吗法律
  • 应收账款应付账款借贷方都表示什么
  • 用于企业职工福利有哪些
  • 监控 固定资产
  • 增值税进项税额转出的情况有哪些
  • 税控盘减免税款分录
  • 银行代发工资当天改工资卡来得及吗
  • 银行承兑汇票贴现利息怎么算
  • 工程款抵房款什么意思
  • 分包管理费取费标准
  • 增值税进项税转出额可以税前扣除吗
  • 现金日记账的登记证据有
  • 已启动申报比对异常怎样才能作废,还没过税期
  • 利用公式计算填空题
  • sql数据库监控工具
  • mysql5.7.35
  • 安装office提示
  • windows media player播放不了mp4
  • avsched32.exe是什么进程 avsched32进程有什么作用
  • Win10年度更新正式发布:功能全面升级
  • 简述opengl的编程步骤
  • javascriptwhile
  • 浅谈python
  • 神奇宝贝
  • 用python画一棵树
  • Base64、DES、MD5加密解密原理
  • js相等和全等
  • 不能抵扣消费税口诀
  • 江西公安电子证件
  • 非税控发票是什么
  • 济南税务局,济南电子税务局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设