美文网首页
字符串类型和编码

字符串类型和编码

作者: 刘磊_3a3b | 来源:发表于2019-02-20 19:55 被阅读0次

    Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes,Python对bytes类型的数据用带b前缀的单引号或双引号表示:x =b'ABC'。

    1.str和bytes的相互转化

        str通过encode()方法可以编码为指定的bytes,例如:

                >>> 'ABC'.encode('ascii')

                b'ABC'

                >>> '中文'.encode('utf-8')

                b'\xe4\xb8\xad\xe6\x96\x87'

         bytes通过decode()方法转成str,例如:

                >>> b'ABC'.decode('ascii')

                'ABC'

                >>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')

                '中文'

    2.py文件编码

        在py文件第一行申明字符集编码,一般使用utf-8编码,例如:# -*- coding: utf-8 -*-       

    3.格式化

                我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格   式化字符串的方式。

    在python中使用%来实现,%运算符就是用来格式化字符串的。%s表示用字符串替换,%d表示用整数替换。%f表示用浮点数替换,%x表示用十六进制整数替换。如果有多个%,后面就要有几个值,且顺序要一致。

    例如:

    >>> 'Hello, %s'%'world''

    Hello, world'

    >>> 'Hi, %s, you have $%d.'% ('Michael',1000000)

    'Hi, Michael, you have $1000000.'

    4.字符串截取

    (1)截取单个字符,例如  'hello world'[1] 表示截取截取字符串的第二位

            'hello world'[-1]表示截取字符串从末尾往前数1位得到的字符

    (2)截取多个字符串(包前不包后)

           'hello world'[a:b] (a b为>0)表示截取字符串的下标为a到下标为b(不包含下标b)

           'hello world'[a:-1] (a b为>0)表示截取字符串的下标为a到最后一位   (不包含最后一位)

            ‘hello world’[a:]   表示从下标a开始截取到最后(包含最后一位)

             ‘hello world’[:b]   表示从下标0开始截取到下标b(不包含b)

    相关文章

      网友评论

          本文标题:字符串类型和编码

          本文链接:https://www.haomeiwen.com/subject/bgyxrftx.html