python字符串与字节序列

摘要:
Python字符串和字节在python3-python3中只有一种数据类型的字节和字符串可以存储文本信息,即str(string),它是一个不可变的序列,存储unicode代码位。在python3中,字节对象用于处理字节字符串。字节和可变字节数组与str不同。它们只能用字节表示为序列值,即0到256之间的整数。
python字符串与字节

python3中字节与字符串

python3中只有一种数据类型可以保存文本信息,就是str(字符串),是不可变序列,保存的是unicode码位。在python3中,用bytes对象来处理字节字符串。
bytes和可变的bytearray与str不同,只能用字节作为序列值,即0~256之间的整数表示。

 print(bytes([101,100,99]))
b'edc'
list(b'hello')
[104, 101, 108, 108, 111]
list(b'he llo')
[104, 101, 32, 32, 32, 108, 108, 111]#空格的序列值是32

从python3.0开始,所有没有前缀的字符串都是unicode。字节字符串要加前缀b
unicode字符串是不可以用字节表示的文本,而将数据保存到文本或者通过网络发送必须是二进制数据,所以必须将字符串对象编码为字节序列
字符串转字节序列:
1. str.encode(encoding,errors)方法,encoding为编解码器,默认值为'utf-8'

'hello'.encode()
 b'hello'
  1. bytes(source,encoding,errors)构造函数,创建一个新的字节序列,source为字符串,encoding为编解码器,必须指定encoding,没有默认值

    bytes('hello',encoding='utf-8')
    b'hello'
    bytes('hello','utf-8')
    b'hello'
    将bytes表示的二进制数据转成字符串

  2. bytes.decode(encoding,errors)方法,encoding必须与str.encode里的encoding相同

    b'hello'.decode()
    'hello'

  3. str(source,encoding,error)构造函数与bytes()构造函数相似,source是字节序列,必须指定str函数的参数encoding,它没有默认值

    str(b'hello','utf-8')
    'hello'
    python字符串是不可变的,bytes字节序列也是不可变的,有优点有缺点,优点是由于不变性,字符串可以做字典的键或set的元素,因为一旦初始化字符串的值就不会改变。缺点是当要修改字符串时,都需要创建一个全新的字符串实例。bytearray时bytes可变版本,字节数组可以通过append,pop,insert等方法添加修改删除字节序列

处理字符串拼接

  1. 使用+=方法

    s="" for sub in subs: s+=sub

  2. 使用join方法

    s="".join(subs)
    字符串的格式化方法str.format或%

免责声明:文章转载自《python字符串与字节序列》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇as3.0 坐标selenium定位闪现的提示信息下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

安装pysqlite2

1. 从https://github.com/msabramo/pysqlite2 下载源码。 2.安装python-dev:sudo apt-get install python-dev否则在 编译或安装过程中,可能会出现 错误:error:Python.h No such file or directory 。注意,不同的Linux发行版的安装命令可...

四 数据模型操作

数据模型的操作     HBase 对数据模型的 4 个主要操作包括 Get、Put、Scan 和 Delete。 通过 HTbale 实例进行操作。     HBase 所有修改数据的操作都保证行级别的原子性。要么读到最新的数据,要么等待系统允许写入改行的修改。      1 Get      HTable 类中提供了 get() 方法, 同时还有与之对...

ORA-12521: TNS: 监听程序当前无法识别连接描述符中请求的实例(原)

今天登录PL/SQL出现问题: ---------------------------sys@RAC1 as SYSDBA---------------------------ORA-12521: TNS: 监听程序当前无法识别连接描述符中请求的实例 --------------------------- 但是TNSPING RAC1可以通的。 RAC1...

吴裕雄--天生自然python学习笔记:python文档操作批量替换 Word 文件中的文字

我们经常会遇到在不同的 Word 文件中的需要做相同的文字替换,若是一个一个 文件操作,会花费大量时间 。 本节案例可以找出指定目录中的所有 Word 文件(包含 子目录),并对每一个文件进行指定的文字替换操作。 案例要求 把 replace 目录(包含子目录〉下所有 Word 文件中自甘“方法”都替换为“ method ” 下图中左图为 replaces...

[GSEAPY] 在Python里进行基因集富集分析

前言 在生物信息学数据分析中,许多分析软件都是基于R开发的。这里介绍一个可以在Python 中进行基因富集分析的Python 软件 GSEAPY (Gene Set Enrichment Analysis in Python) GSEApy is a python wrapper for GESA and Enrichr. It’s used for co...

python调用摄像头拍照并保存

import cv2 import os #引入库 print("=============================================") print("= 热键(请在摄像头的窗口使用): =") print("= z: 更改存储目录 =") print...