python3设置编码为utf8_Python,如何设置统一编码格式,例如utf-8

Python 作为高级语言的一种,

不可避免的会接触到各种各样的编码。

为了编码因为编码产生的问题。

最好对自己的源码处理数据的类型固定下来,

这样才能避免产生一些问题。

下面就介绍一下python 的源码如何进行统一编码。

51cd85cec7f88a775d8594f86e4a2f27e6eff8ef.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

工具/原料

python

代码内声明编码格式

1

编码格式1:

在源文件第一行或者第二行定义:

# coding=

例如:

# coding=utf-8

2e66f9ef28066b0195852ff43df39187021cf3ef.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

编码格式2:(这种最流行)

格式如下:

#!/usr/bin/python

# -*- coding: -*-

例如:

#!/usr/bin/python

# -*- coding: utf-8 -*-

b7b28f87031c99c0a2a4fd32af2fa872951fedef.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

编码格式3:(如果使用了vim)

#!/usr/bin/python

# vim: set fileencoding= :

例如

#!/usr/bin/python

# vim: set fileencoding=utf-8 :

256eb672941fbee42782eceac1237971ff1de7ef.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

4

如果想表达的更精确,

只要定义的表达式在第一行或者第二行,

符合正则表达式:^[ \t\v]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)

即可。

表达式解析coding的名称后,

如果python 不识别,就会报错。

4b626771fe1d96d801417d942ccd0c6efaf2e1ef.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

一些特殊的点

1

第一行和第二行重复定义时。

第一行生效,

第二行不会生效的。

a68c126efbf202b36a8f85cf30f4da5873dadbef.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

utf8和utf-8是一种编码格式,

在python 里都认为是一种编码格式utf-8。

如图。

db196cdade49610fad0eb1b0a56817e950e1d2ef.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

格式无法生效

1

没有“coding”前缀。

无法生效。

如图

2f2909e951e10ef8740ec9892324d8e9cdd2ccef.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

不在第一行第二行。

无法生效。

如图

d47cb624d8e9ccd28a3e4ded0e40102a05e2c9ef.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

不支持的格式类型

无法生效。

例如:

utf-42

84010e2a04e23ea20d1abcce2b10bc33ed38c3ef.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

注意事项

更详细的内容请看PEP 263

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。

展开阅读全部

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值