美文网首页
python字符串和编码

python字符串和编码

作者: 光刃小刀 | 来源:发表于2016-07-30 13:24 被阅读0次

字符编码:

8个比特(bit)作为一个字节(byte),一个字节最大整数255(二进制11111111=十进制255)
python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符,注意是字符不是字符串。
>>>ord('A')
65
>>>chr(66)
'B'
如果知道字符的整数编码,还可以用十六进制写str
>>>'\u4e2d\u6587'
'中文'
由于python的字符串类型是str,在内存中以unicode表示,一个字符对应若干个字节,如果要在网络上传输,或者保存在硬盘上,就需要把str变为以字节为单位的bytes。
以unicode表示的str通过encode()方法可以编码为指定的bytes。但要注意编码范围,否则会报错
>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
>>> '中文'.encode('ascii')
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
'中文'.encode('ascii')
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
因为中文编码的范围超过了ascii编码范围,所以报错。
反过来,如果我们从网络或硬盘上读取了字节流bytes,要把bytes变为str就需要用decode()方法。
>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'
str1.decode('gb2312')表示将gb2312编码的字符串转换成unicode编码
str2.encode('gb2312')表示将unicode编码的字符串转换成gb2312编码

字符串格式化符号含义:

符号 说明
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化定点数,可指定小数点后的精度
%e 用科学计数法格式化定点数
%E 作用同%e,用科学计数法格式化定点数
%g 根据值的大小决定使用%f活%e
%G 作用同%g,根据值的大小决定使用%f或者%E

字符串转义字符含义

符号 说明
' 单引号
" 双引号
\a 发出系统响铃声
\b 退格符
\n 换行符
\t 横向制表符(TAB)
\v 纵向制表符
\r 回车符
\f 换页符
\o 八进制数代表的字符
\x 十六进制数代表的字符
\0 表示一个空字符
\\ 反斜杠

相关文章

  • Python中的字符串编码

    Python中的字符串编码 定义字符串 Python 中存在两种编码方式的字符串:ASCII 和 Unicode。...

  • python编码

    python编码 python编码简介 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,...

  • python 高级方法

    Python的字符串类型 字符编码方法 查看Python中的字符串编码名称,查看系统的编码 源文件字符集编码声明:...

  • Python编码问题

    默认编码 字符串 python2 文本字符串默认编码是ASCII,中文默认UTF-8python3 文本字符串默认...

  • python的unicode编码问题(以正则表达式为例)

    unicode是python的内部编码。字符串在Python内部的表示是unicode编码,因此,在做编码转换时,...

  • json与python

    Python 对象编码成 JSON 字符串 json.dumps 用于将 Python 对象编码成 JSON 字符...

  • 2018-11-08

    今天,我们深入学习了字符串。学习了字符串编码: python中的字符采用的是Unicode编码 a.什么是编码 ...

  • python3 (1)基础语法

    1、编码 python3 源码文件默认UTF-8编码,字符串Unicode字符串。可以不在py文件制定编码,pyt...

  • python 字符串前加u

    python中文编码问题,字符串前面加u

  • 学习python的第四天

    今天学习的是字符串和编码。 主要了解到四种编码形式。ascii、unicode和utf-8,还有python的字符...

网友评论

      本文标题:python字符串和编码

      本文链接:https://www.haomeiwen.com/subject/eixtsttx.html