python2字符串编码_03 python基础二--字符串与编码

1 字符串和编码

捋一捋ASCII编码和Unicode编码的区别

A 用ASCII编码是十进制的 65,二进制的01000001

O 用ASCII编码是十进制的48,二进制的00110000

3d4598356f88

image.png

3d4598356f88

image.png

3d4598356f88

image.png

2 python的字符串

python的字符串是以Unicode编码的,所以支持多语言

单字符与编码之间的转换函数

>>> ord('A')

65

>>> ord('中')

20013

>>> chr(65)

A

字符串用于网络传输或者保存到硬盘,需转换为字节bytes,python对字节类型的数据用b加引号表示

x = b'ABC'

# 区分'ABC' 与 b'ABC'的区别

# 'ABC' 是一个 str,b'ABC'虽然显示和前者一样,但事实上bytes的每个字符都只占用一个字节,而python中str每个字符占用3个字节,3*8比特(bit)。

encode( ) 与 decode( )

# decode()用于将bytes转换为str,errors='ignore'可以忽略错误的字节

>>>b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')

'中'

# 计算字符串长度 len()

>>> len(b'ABC')

3

>>> len(b'\xe4\xb8\xad\xe6\x96\x87')

6

>>> len('中文'.encoding('utf-8'))

6

# encode()恰好相反,将str进行编码

##注意:由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行

#!/usr/bin/env python3

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

python 字符串格式化 ,%与format()

在Python中,采用的格式化方式和c语言是一致的,用%实现,例:

>>> 'Hello, %s' % 'world'

'Hello world'

>>> 'Hi , %s , you should eating %s' % ('girl', 'food') #多个变量必须用小括号

'Hi , girl , you should eating food'

- %d 整数

- %f 浮点数

- %s 字符串, %s永远起作用,可把任何数据类型转换为字符串

- %x 十六进制整数

# 格式化整数和浮点数可以指定是否补0和整数与小数的位数

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

print('%2d-%2d' % (3,1))

print('%.2f' % 3.141592653)

#打印结果

3 - 1

3.14

另一种格式化的方法是format(),它会用传入的参数依次替换字符串内的占位符{0}、{1}......,不过比较麻烦

>>>'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明',17.124)

'Hello, 小明, 成绩提升了 17.1%'

ps: 今日问题

解决终端 pyhton 不能输入中文的问题

原来是终端配置搞的鬼,打开偏好设置,然后按图设置即可解决~

3d4598356f88

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值