位置: 编程技术 - 正文

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

  • 房地产企业什么时候开具正式发票
  • 个体工商户可以开发票吗
  • 变更了公司名称以前的发票还可以抵扣吗
  • 公司可以为非本人开户吗
  • 小规模纳税人免税销售额是含税还是不含税
  • 税费误差财务怎么调整
  • 固定资产明细账怎么填
  • 原始发票丢失怎么报销
  • 报表的应付款太大怎么调?
  • 公司对外投资是股东会还是董事会
  • 营改增的会计处理及其对财务的影响
  • 法人转账到开户行的会计分录怎么做?
  • 待认证进项税额借方余额表示什么
  • 商品税目是什么意思4001
  • 售后回租业务的会计分录
  • 机动车发票怎么作废
  • 已交税的无票收入后期怎么补开发票?
  • 出纳收到汇票如何登记
  • 主营业务成本会计科目使用说明
  • 小程序交易需要什么条件
  • 收到房租发票可以抵扣吗
  • 设备改造时各项支出的会计处理?
  • 厦门新车购置税计算
  • 公司长期贷款
  • 苹果11怎么充不上电了
  • 职工福利费会计科目走管理费用
  • 小米路由器2代改8t
  • 资产处置损益会计科目
  • 促销费可以进项抵扣吗
  • 代码怎么用?
  • laravel定时任务如何实现的
  • thinkphp表单验证
  • AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介、安装、使用方法之详细攻略
  • php guzzle 异步
  • 训练集验证集和测试集
  • 传承古老文化
  • php100 jquery教程
  • 利润分配的顺序依次是什么
  • 资产盘盈盘亏处理
  • 企业之间的借款利息收入缴纳增值税吗?
  • 出入库单可以用机打的吗
  • phpcms默认密码
  • 织梦cms要钱吗
  • 企业所得税计提分录
  • sql server添加语句
  • 厂房无偿使用交税吗
  • 让渡资产使用权属于收入吗
  • 息税前利润的计算公式EBIT
  • 什么情况需要个人所得税
  • 会计库存商品属于什么科目
  • 房屋免租期的房子能卖吗
  • 资产负债表中的股东权益由什么组成
  • 销售出库单需要盖章吗
  • 典当行收房产证吗直接可以拿钱吗
  • 技术咨询服务开票代码
  • 利润表季度表怎么填
  • sql server储存过程的创建与使用
  • windows server 2008 r2开启远程访问
  • win7怎么不显示桌面图标
  • mac如何整理桌面图标
  • win7系统360浏览器自启动怎么关闭
  • winxp系统笔记本电脑如何开启无线网络
  • 简述linux系统有什么优点
  • Linux系统安全性体现在哪些方面?
  • win7升win8要钱吗
  • 惠普笔记本win8.1
  • win10无法安装无线显示器
  • extjs 为某个事件设置拦截器
  • android自定义控件入门与实战
  • perl常用函数
  • jqgrid动态增加列
  • Unity3D之Vector3.Dot和Vector3.Cross的使用
  • jquery easyui validatebox remote的使用详解
  • Intent and Intent Filters
  • js模拟用户输入
  • [置顶]游戏名:chivalry2
  • 介绍一个简单的实验
  • 国家电子税务局云南省电子税务局
  • 白盘怎么开具红字专用发票
  • 所有企业都要做应急预案吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设