码迷,mamicode.com
首页 > 编程语言 > 详细

python bytes和string相互转换(46)

时间:2020-03-04 14:28:26      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:span   style   联系   github   size   个人   col   pytho   变量   

 

 

一.bytes和string区别

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

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

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

输出结果:

bshuopython.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))

 

输出结果:

bshuopython.com
<class bytes>
bshuopython.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)

 

输出结果:

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

 

 

 

猜你喜欢:

    1.python bytes

    2.python bytearray

    3.python 深拷贝和浅拷贝

    4.python 局部变量和全局变量

 

    转载请注明:猿说Python » python bytes和string相互转换

 

技术交流、商务合作请直接联系博主
扫码或搜索:猿说python
技术图片
猿说python
微信公众号 扫一扫关注

python bytes和string相互转换(46)

标签:span   style   联系   github   size   个人   col   pytho   变量   

原文地址:https://www.cnblogs.com/shuopython/p/12409184.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!