专栏首页python教程-猿说python46.python bytes和string相互转换

46.python bytes和string相互转换

一.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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python 字符串

    在 python变量 文章中我们对python变量做了一个简单的了解,整数/浮点数/bool值相对来讲都比较简单,今天详细在讲解一下关于字符串的内容,字符串俗称...

    猿说编程[Python和C]
  • 6.python变量

    何为python变量,即数据类型。python变量一共六种类型:整数/浮点数/字符串/BOOL/列表/元组/字典,今天先讲解前四种,后三种留到后面的文章在讲解。

    猿说编程[Python和C]
  • 38.python print函数

    python中内置函数我们使用的最频繁的莫过于print函数,重helloword开始,我们就一直在接触print,虽然使用简单,不过你真的会玩print函数吗...

    猿说编程[Python和C]
  • Python编程 基础练习(三)

    叶庭云
  • Python2和Python的区别那个版

    想学习Python的人都会有一个困惑,那就是Python目前有两个版本Python2和Python3,Python2与Python3有何区别,两个版本该学习哪个...

    py3study
  • php isset()和empty()

    支持多个参数 :如果一次传入多个参数,则自左至右依次检测 ,变量都被设置(不是NULL)返回TRUE,中途遇到没有设置的变量则会停止检测并返回FALSE。

    用户7521130
  • Python_编程题集_001_词法解析

    py3study
  • TypeScript--deno前置学习

    (1)Node与Deno 的区别:Node 可以工作,而 Deno 不行,Deno 只是一个原型或实验性产品。

    wfaceboss
  • empty(),isset(), is_null()区别

    empty 如果 变量 是非空或非零的值,则 empty() 返回 FALSE。换句话说,、0、0、NULL、FALSE、array()、var $var、未...

    苦咖啡
  • 这个冬天,来点不一样的“叫床服务”

    镁客网

扫码关注云+社区

领取腾讯云代金券