Python中如何实现bytes与string之间的转换详解?

2026-05-29 03:451阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计694个文字,预计阅读时间需要3分钟。

Python中如何实现bytes与string之间的转换详解?

一.bytes与string区别

1.python bytes也称为字节序列,是Python中用于存储字节数据的数据类型,可以看作是原始的字节流,不包含任何字符编码信息。它主要用于处理文件读写、网络通信等场景。

2.string是Python中的字符串类型,用于存储文本数据,内部由Unicode编码表示,可以包含各种字符和符号。

二.取值范围

0<=bytes <=255,表示每个字节的取值范围在0到255之间,即一个字节可以表示256种不同的值。

输出的字符串最前面会有字符b进行修饰,表示这是一个bytes类型的数据。

三.string主要用途string在Python中主要用于存储文本数据,它主要具有以下特点:

1.内部使用Unicode编码,可以表示任意字符,包括中文字符、符号等。

2.支持字符串操作,如拼接、切片、查找等。

3.可直接用于显示输出。

一.bytes和string区别

1.python bytes 也称字节序列,并非字符。取值范围 0 <= bytes <= 255,输出的时候最前面会有字符b修饰;string 是python中字符串类型;

2.bytes主要是给在计算机看的,string主要是给人看的;

3.string经过编码encode,转化成二进制对象,给计算机识别;bytes经过解码decode,转化成string,让我们看,但是注意反编码的编码规则是有范围,\xc8就不是utf8识别的范围;

if __name__ == "__main__": # 字节对象b b = b"shuopython.com" # 字符串对象s s = "shuopython.com" print(b) print(type(b)) print(s) print(type(s))

输出结果:

b'shuopython.com'
<class 'bytes'>
shuopython.com
<class 'str'>

二.bytes转string

string经过编码encode转化成bytes

# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解忧 @Blog(个人博客地址): shuopython.com @WeChat Official Account(微信公众号):猿说python @Github:www.github.com @File:python_bytes_string.py @Time:2020/2/26 21:25 @Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! """ if __name__ == "__main__": s = "shuopython.com" # 将字符串转换为字节对象 b2 = bytes(s, encoding='utf8') # 必须制定编码格式 # print(b2) # 字符串encode将获得一个bytes对象 b3 = str.encode(s) b4 = s.encode() print(b3) print(type(b3)) print(b4) print(type(b4))

输出结果:

b'shuopython.com'
<class 'bytes'>
b'shuopython.com'
<class 'bytes'>

三.string转bytes

bytes经过解码decode转化成string

if __name__ == "__main__": # 字节对象b b = b"shuopython.com" print(b) b = bytes("猿说python", encoding='utf8') print(b) s2 = bytes.decode(b) s3 = b.decode() print(s2) print(s3)

输出结果:

b'shuopython.com'
b'\xe7\x8c\xbf\xe8\xaf\xb4python'
猿说python
猿说python

Python中如何实现bytes与string之间的转换详解?

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

本文共计694个文字,预计阅读时间需要3分钟。

Python中如何实现bytes与string之间的转换详解?

一.bytes与string区别

1.python bytes也称为字节序列,是Python中用于存储字节数据的数据类型,可以看作是原始的字节流,不包含任何字符编码信息。它主要用于处理文件读写、网络通信等场景。

2.string是Python中的字符串类型,用于存储文本数据,内部由Unicode编码表示,可以包含各种字符和符号。

二.取值范围

0<=bytes <=255,表示每个字节的取值范围在0到255之间,即一个字节可以表示256种不同的值。

输出的字符串最前面会有字符b进行修饰,表示这是一个bytes类型的数据。

三.string主要用途string在Python中主要用于存储文本数据,它主要具有以下特点:

1.内部使用Unicode编码,可以表示任意字符,包括中文字符、符号等。

2.支持字符串操作,如拼接、切片、查找等。

3.可直接用于显示输出。

一.bytes和string区别

1.python bytes 也称字节序列,并非字符。取值范围 0 <= bytes <= 255,输出的时候最前面会有字符b修饰;string 是python中字符串类型;

2.bytes主要是给在计算机看的,string主要是给人看的;

3.string经过编码encode,转化成二进制对象,给计算机识别;bytes经过解码decode,转化成string,让我们看,但是注意反编码的编码规则是有范围,\xc8就不是utf8识别的范围;

if __name__ == "__main__": # 字节对象b b = b"shuopython.com" # 字符串对象s s = "shuopython.com" print(b) print(type(b)) print(s) print(type(s))

输出结果:

b'shuopython.com'
<class 'bytes'>
shuopython.com
<class 'str'>

二.bytes转string

string经过编码encode转化成bytes

# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解忧 @Blog(个人博客地址): shuopython.com @WeChat Official Account(微信公众号):猿说python @Github:www.github.com @File:python_bytes_string.py @Time:2020/2/26 21:25 @Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! """ if __name__ == "__main__": s = "shuopython.com" # 将字符串转换为字节对象 b2 = bytes(s, encoding='utf8') # 必须制定编码格式 # print(b2) # 字符串encode将获得一个bytes对象 b3 = str.encode(s) b4 = s.encode() print(b3) print(type(b3)) print(b4) print(type(b4))

输出结果:

b'shuopython.com'
<class 'bytes'>
b'shuopython.com'
<class 'bytes'>

三.string转bytes

bytes经过解码decode转化成string

if __name__ == "__main__": # 字节对象b b = b"shuopython.com" print(b) b = bytes("猿说python", encoding='utf8') print(b) s2 = bytes.decode(b) s3 = b.decode() print(s2) print(s3)

输出结果:

b'shuopython.com'
b'\xe7\x8c\xbf\xe8\xaf\xb4python'
猿说python
猿说python

Python中如何实现bytes与string之间的转换详解?

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。