位置: 编程技术 - 正文

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语句)

  • 个人所得税退税是什么意思?
  • 简易征收怎样计提增值税
  • 资产负债表不平衡如何查找
  • 养殖合作社属于什么行业
  • 一次性用品可以做什么
  • 现金流量表存货增加是负的
  • 付国外专利费用需办什么手续
  • 累计纳税工资是什么意思
  • 发票税率开错了按什么申报
  • 境外分回的股息并入应纳税所得
  • 固定资产抵扣新政策2022
  • 小规模纳税人提供设计服务税率
  • 虚开增值税发票具体操作是怎样的?
  • 小规模纳税人还是一般纳税人
  • 新开公司第一个月个税零申报,但是有发工资
  • 购进材料再销售怎么会计分录
  • 政府奖励金额是否要交二次税呢
  • 进项税额及存货减值
  • 电脑不支持windows 11
  • 收支两条线是指
  • 发工资和扣社保的区别
  • 合同印花税交给谁
  • win10永久激活2021
  • 期初银行余额有误怎么调分录怎么写
  • 进程core
  • 公司资产总额怎么算的啊
  • .fas文件病毒
  • 辅料分配方法
  • 哪些税改将影响家庭个人财富
  • php判断字符串是否存在
  • php lcg_value与mt_rand生成0~1随机小数的效果对比分析
  • react keepalive
  • nginx怎么运行php
  • Python中如何定义一个变量
  • 税务网如何填三方协议
  • python中的sum函数怎么用
  • 上年度的企业所得税汇算清缴怎么查询
  • 租用办公室装修费用会计分录
  • mongodb win7
  • 分公司是独立的诉讼主体吗
  • 房产税从租和从价都要交吗
  • 使用sqlserver创建数据库和删除数据库的实验总结
  • 小型企业需要给员工买社保吗
  • 企业所得税计提的准备金可以扣除吗
  • 小规模纳税人零申报可以持续多久
  • 应收账款逾期什么意思
  • 房租已付未收到发票
  • 折扣方式销售如何确定销售额?
  • 出口退税进项发票会计分录
  • 结转主营业务成本是什么意思
  • 空调安装开发票
  • 会计账簿按用途分类可以分为
  • linux下多个mysql5.7.19(tar.gz)安装图文教程
  • mysql三种安装方式
  • mysql启动服务器失败
  • 如何使用ssh
  • win7快速安装
  • centos7取消挂载硬盘
  • win10怎么禁用device/credential guard
  • 打开字符面板
  • win7格式化怎么操作?
  • unity进阶之路
  • ftp上传网站的步骤
  • python有没有翻译库
  • python ints
  • unity物理引擎原理
  • unity+
  • jquery的css样式
  • 批处理删除除了某个文件外的所有文件
  • clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
  • python如何发送http请求
  • Android开发工具
  • 基于javascript的毕业设计
  • python生产
  • jquery使用方法
  • 上海国家税务局官网发票查验平台
  • 中山市地方税务局官网
  • 公司注销时注册资金未缴完
  • 个体户是否需要缴纳企业所得税
  • 怎么打印个人所得税扣缴申报表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设