当前位置: 首页 > article >正文

python学习笔记4-字符串和字节转换

在python3中最重要的特性是对⽂本和⼆进制数据做了更加清晰的区分,⽂本总是Unicode,由字符类型表⽰,⽽⼆进制数据则由byte类型表⽰,python3不会以任意隐式⽅式混⽤字节型和字符型,也因 此在python3中不能拼接字符串和字节包(python2中可以,会⾃动进⾏转换),也不能在字节包中搜 索字符串,也不能将字符串传⼊参数为字节包的函数。

Bytes 对象是由单个字节作为基本元素(8位,取值范围 0-255)组成的序列,为不可变对象。 bytes对 象只负责以⼆进制字节序列的形式记录所需记录的对象,⾄于该对象到底表⽰什么(⽐如到底是什么 字符)则由相应的编码格式解码所决定。Python3中,bytes通常⽤于⽹络数据传输、⼆进制图⽚和⽂ 件的保存等等。可以通过调⽤bytes()⽣成bytes实例,其值形式为 b'xxxxx',其中 'xxxxx' 为⼀⾄多个 转义的⼗六进制字符串(单个 x 的形式为:\x12,其中\x为⼩写的⼗六进制转义字符,12为⼆位⼗六 进制数)组成的序列,每个⼗六进制数代表⼀个字节(⼋位⼆进制数,取值范围0-255),对于同⼀个 字符串如果采⽤不同的编码⽅式⽣成bytes对象,就会形成不同值。

创建字节
# 创建字节
b1 = b'hello'
b2 = b"ello"
b3 = b'''hello'''
b4 = bytes('中⽂','utf-8')
设置python⽂件编码格式
-*- coding: utf-8 -*-
import sys
sys.setdefaultencoding('utf-8') #修改系统默认编码格式
字符串和字节的转换
#字符串转字节
s1 = "中⽂"
s2 = s1.encode('utf-8')
#str.encode()
print(type(s2))
#<class 'bytes'>print(s2)
#b'\xe4\xb8\xad\xe6\x96\x87'
#字节转字符串
s3 = s2.decode('utf-8')
#bytes.decode()
print(type(s3))
#<class 'str'>
print(s3)
#中⽂


http://www.kler.cn/a/514526.html

相关文章:

  • NIO | 什么是Java中的NIO —— 结合业务场景理解 NIO (一)
  • transformers使用过程问题
  • unity插件Excel转换Proto插件-ExcelToProtobufferTool
  • 数据结构-二叉树
  • Elasticsearch(ES)基础查询语法的使用
  • JavaScript学习笔记(1)
  • 14_音乐播放服务_字典缓存避免重复加载
  • Dart语言的云计算
  • Linux 执行 fdisk -l 出现 GPT PMBR 大小不符 解决方法
  • 一部手机如何配置内网电脑同时访问内外网
  • 【面试题】Java 多线程编程基础知识
  • 分析一个深度学习项目并设计算法和用PyTorch实现的方法和步骤
  • 五、华为 RSTP
  • React 中hooks之useSyncExternalStore使用总结
  • NS3网络模拟器中如何利用Gnuplot工具像MATLAB一样绘制各类图形?
  • Vue - ref( ) 和 reactive( ) 响应式数据的使用
  • 22.日常算法
  • stm8s单片机(一) 工程塔建与第一个实验程序
  • 漏洞情报:为什么、要什么和怎么做
  • CrypTen——基于pytorch的隐私保护机器学习框架
  • Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
  • Julia语言的区块链
  • Java设计模式 三 工厂方法模式 (Factory Method Pattern)
  • HTML 基础入门:核心标签全解析
  • 深圳大学-计算机系统(3)-实验三取指和指令译码设计
  • simulink入门学习01