• Python之第六章 内置容器 --- 字符串


    目录

    Python之第六章 内置容器 --- 字符串

    1.概念

    2.凭借字符串 --- +

    3.多行字符串

    4.字符串的切片

    例 输入员工省份证号,输出出生日期

    5.分隔合并字符串

    分隔字符串

    合并字符串

    6.字符串的查找

    count( ) 方法

    find( ) 方法

    startswitch( ) 方法

    endswitch( ) 方法

    7.字母大小写转换

            大写 - > 小写:strname.lower( )

            小写 - > 大写:strname.upper( )

    8.判断是否为字母

    例 判断字符串中字母出现的次数

    9.字符串的删除

            strname. strip(char) 方法 --- 删除字符串左右指定字符

            strname.lstrip(char) --- 删除祖父穿左侧指定字符

            strname.rstrip(char) --- 删除字符串右侧指定字符

    例1 统计字符串中单词个数

    strname.replace( ' 需要替换字符串 ', ' 替换结果 ')

    10.字符串文本对齐

    居中 --- center

    左对齐 --- ljust

    右对齐 --- rjust

    11.程序案例

    例1 编写程序,检测输入的字符串密码是否是一个合法的密码,规则如下:密码必须至少八个字符,只能包含英文和数字,密码至少包含2个数字

    例2 编写程序,实现输入一个二进制数转换为十进制数,如:1001 十进制 9,1 * 2^0+0 * 2^1+0 * 2^2+1 * 2 ^3

    例3 国际标准书号共10位:d1d2d3d4d5d6d7d8d9d10,最后一位d10是效验为,效验计算公式(d1 * 1+d2 * 2+d3 * 3+d4 * 4+d5 * 5+d6 * 6+d7 * 7+d8 * 8+d9 * 9)%11,若计算结果为10则使用x表示,编写程序,输入前9个内容,输出标准书号。

    例4 统计字符串汇总字母个数,存储到列表b[26],a的个数存储在b[0],b的个数存储在b[1],z的个数存储在b[25]

    例5 将字符串中大写字母改写为下一个字母,Z字母改为A

    例6 将2个字符串逆置后交叉合并到新字符串中,如:str1= ‘abcdef ’,str2 = ‘12345678’,str3 = f8e7d6c5b4a321

    例7 字符串排序,Python中字符串类不允许直接修改元素,需要将其转换为列表之后进行排序,排完后转回字符串

    例8 排除字符串首尾个元素,剩余内容排序

    12.格式化字符串

    13.通过format()方法来实现

    14.字符串编码

    Unicode和UTF-8的关系

    UTF的分类 

    15.Python中的字符串的两种类型

    使用encode()方法编码

    使用decode()方法解码


    Python之第六章 内置容器 --- 字符串

    1.概念

            字符串 --- 由 ' ' 或 " " 包裹起来的任意不可变序列文本序列

    1. str1 = 'china'  # 字符串
    2. print(str1[0])  # 字符串常量不可变,但支持列表索引的操作
    3. str2 = ['china', 'hello', 'nihao ']  # 二维字符串 或 字符串列表
    4. str2[0] = 'CHINA'
    5. print(str2)
    6. 结果:
    7. c
    8. ['CHINA', 'hello', 'nihao ']

            单双引号使用

    1. print('几多.范罗苏姆外号“龟叔”')
    2. 结果:
    3. 几多.范罗苏姆外号“龟叔”

    2.凭借字符串 --- +

    1. str1 = "我今晚跑步数为:"
    2. num = 3200
    3. print(str1+num) # 报错 ,字符串的拼接只能是字符串
    4. print(str1+str(num))
    5. 结果:
    6. 我今晚跑步数为:3200

    注意:

    字符串的拼接只能是字符串,其他类型会发生报错。

    3.多行字符串

            字符串长度多余一行时,可以使用三引号将字符串包夹

    1. str1 = '''china
    2. china china
    3. china china china '''
    4. print(str1)
    5. 结果:
    6. china
    7. china china
    8. china china china

    4.字符串的切片

            原则 --- 字符串属于不可变序列,可以通过切片来实现字符串的截取

            格式 --- strname[ start, end, step]

    start --- 从0索引开始

    end --- 最后一个字符的索引

    step --- 切片长度,默认为1

    1. str1 = '2022,加油,中国'
    2. print(str1)
    3. print(str1[0])
    4. print(str1[0:])
    5. print(str1[5:])
    6. print(str1[:3])
    7. print(str1[2:6])
    8. print(str1[1:10:2])
    9. print(str1[-1:-3:-1])
    10. 结果:
    11. 2022,加油,中国
    12. 2
    13. 2022,加油,中国
    14. 加油,中国
    15. 202
    16. 22,加
    17. 02加,国
    18. 国中

    例 输入员工省份证号,输出出生日期

    1. # 例1 输入员工省份证号,输出出生日期
    2. str1 = input('请输入员工的身份证号:')
    3. if len(str1) == 18:
    4.    print("该员工出生日期为:", str1[6:10], "年", str1[10:12], "月", str1[12:14], "日")
    5.    if int(str1[-2]) % 2 == 0:
    6.        print("该员工为:女性")
    7.    else:
    8.        print('该员工为:男性')
    9. else:
    10.    print("您输入的身份证号错误")
    11. 结果:
    12. 请输入员工的省份证号:610628199908270330
    13. 该员工出生日期为: 1999 年 08 月 27
    14. 该员工为:男性

    5.分隔合并字符串

    分隔字符串

            分隔 --- 将字符串分隔为列表

            格式 --- strname.split( sep,maxsplit )

    sep --- 指定分隔符,可以包含多种符号(空格, \n, \t 等),默认为None

    maxsplit --- 指定分隔次数

    1. str1 = 'python 软件官网 >>> https://www.python.org.'
    2. print("原串码:", str1)
    3. list1 = str1.split()  # 省略分隔符sep
    4. list2 = str1.split('>>>')
    5. list3 = str1.split('.')
    6. list4 = str1.split(" ", 3)
    7. print(list1)
    8. print(list2)
    9. print(list3)
    10. print(list4)
    11. 结果:
    12. 原串码: python 软件官网 >>> https://www.python.org.
    13. ['python', '软件官网', '>>>', 'https://www.python.org.']
    14. ['python 软件官网 ', ' https://www.python.org.']
    15. ['python 软件官网 >>> https://www', 'python', 'org', '']
    16. ['python', '软件官网', '>>>', 'https://www.python.org.']

    合并字符串

            合并 --- 将多个字符串采用固定的分隔符进行连接

            格式 --- strnew = string.join(iterable)

    strnew --- 新字符串名称

    string --- 合并时的分隔符

    jion --- 方法

    iterable --- 被合并的字符串 --- 迭代对象

    6.字符串的查找

    count( ) 方法

            作用 --- 检索字符串在另一串中出现的次数,若不存在返回 0

            格式 --- strname.count(substring)

    substring --- 要检索的字符串

    1. str1 = '***ABV***def***'
    2. cn1 = str1.count("*")
    3. cn2 = str1.count("?")
    4. print("*号次数:", cn1, "?号次数", cn2)
    5. 结果:
    6. *号次数: 9 ?号次数 0
    7. str1 = '***********'
    8. cn1 = str1.count('*')
    9. cn2 = str1.count('**')
    10. print("次数:", cn1, cn2)
    11. 结果:
    12. 次数: 11 5

    find( ) 方法

            作用 --- 检索是否包含指定字符串,若不存在则返回 -1 ,否则返回首次出现的索引值

            格式 --- strname.find( sub )

    sub --- 子串内容

    1. str1 = input("输入主串:")
    2. str2 = input("输入子串:")
    3. # 方法一
    4. num = str1.find(str2)
    5. if num > -1:
    6.    print("存在,第一次出现的索引为:", num, "内容为:", str1[num])
    7. else:
    8.    print('不存在')
    9. # 方法二
    10. print(str2 in str1)
    11.    
    12. 结果:
    13. 输入主串:123123123
    14. 输入子串:5
    15. 不存在
    16. None
    17. 输入主串:1235456123
    18. 输入子串:5
    19. 存在,第一次出现的索引为: 3 内容为: 5
    20. True

    注意:

            find( )一般用于在主串总查找子串是否存在,还可以使用 in 实现

    startswitch( ) 方法

            作用 --- 检索字符串是否以指定字符串开头

    endswitch( ) 方法

            作用 --- 检索字符串是否以指定字符串结尾

    7.字母大小写转换

            大写 - > 小写:strname.lower( )

            小写 - > 大写:strname.upper( )

    1. str1 = input()
    2. print(str1.lower())
    3. print(str1.upper())
    4. 结果:
    5. awdanga414515ADFJWIFOAF
    6. awdanga414515adfjwifoaf
    7. AWDANGA414515ADFJWIFOAF

    注意:

            这两种内置方法只能实现单一转换不能互换

            大小写互换 - > strn.swapcase( )

    1. str1 = input()
    2. print(str1.swapcase())
    3. 结果:
    4. asdahSDAHDKAdahsda
    5. ASDAHsdahdkaDAHSDA

    8.判断是否为字母

            格式 --- strname.isalpha( ) --- 成立返回Ture,不成立返回False

    例 判断字符串中字母出现的次数

    1. str1 = input("请输入字符串:")
    2. cnt = {}  # 定义一个空字典
    3. for i in str1:
    4.    if i.isalpha() == True:
    5.        cnt[i] = cnt.get(i, 0) + 1  # cnt.get(i, 0) 计算i(键)对应的值,找不到返回 0
    6. print(cnt)
    7. 结果:
    8. 请输入字符串:dasda1e648qwf4g86
    9. {'d': 2, 'a': 2, 's': 1, 'e': 1, 'q': 1, 'w': 1, 'f': 1, 'g': 1}

    9.字符串的删除

            strname. strip(char) 方法 --- 删除字符串左右指定字符

            strname.lstrip(char) --- 删除祖父穿左侧指定字符

            strname.rstrip(char) --- 删除字符串右侧指定字符

    没写char,则默认删除对应位置空白字符( \t \n \r 空格)

    例1 统计字符串中单词个数

    1. # 例1 统计字符串中单词个数
    2. str1 = input('请输入一串字符:')
    3. str1 = str1.strip()  # 删除左右空白字符(空格)
    4. # 方法:判断当前字符不是空格,下一个字符是空格
    5. cnt = 1
    6. i = 0
    7. while i < len(str1) - 1:
    8.    if str1[i] != ' ' and str1[i + 1] == ' ':
    9.        cnt += 1
    10.    i = i + 1
    11. if str1 == '':
    12.    cnt = 0
    13. print('单词个数为:', cnt)
    14. 结果:
    15. 请输入一串字符:aa dwh fqif fqf fwqf hieg fqw
    16. 单词个数为: 7

    strname.replace( ' 需要替换字符串 ', ' 替换结果 ')

    1. str1 = '***dasd***dgrh***'
    2. str1 = str1.replace('*', '0')
    3. print(str1)
    4. 结果:
    5. 000dasd000dgrh000

    10.字符串文本对齐

    居中 --- center

    左对齐 --- ljust

    右对齐 --- rjust

    1. poem = '浮舍', '魈', '疾风之下', '亦有归途', '我于花露之中绽放', "亦如黎明中的花朵"
    2. for i in poem:
    3.    print('|%s|' % i)
    4. # 删除左右空白
    5. # 居中
    6. for i in poem:
    7.    print('|%s|' % i.strip().center(10))
    8.    
    9. 结果:
    10. |浮舍|
    11. |魈|
    12. |疾风之下|
    13. |亦有归途|
    14. |我于花露之中绽放|
    15. |亦如黎明中的花朵|
    16. |    浮舍    |
    17. |    魈     |
    18. |   疾风之下   |
    19. |   亦有归途   |
    20. | 我于花露之中绽放 |
    21. | 亦如黎明中的花朵 |

    11.程序案例

    例1 编写程序,检测输入的字符串密码是否是一个合法的密码,规则如下:密码必须至少八个字符,只能包含英文和数字,密码至少包含2个数字

    1. # 例1 编写程序,检测输入的字符串密码是否是一个合法的密码,规则如下:密码必须至少八个字符,只能包含英文和数字,密码至少包含2个数字
    2. str1 = input("请输入密码:")
    3. t = 0
    4. for i in str1:
    5.    if i.isdigit():  # 计算字符串中数字个数
    6.        t += 1
    7. if len(str1) >= 8:
    8.    if str1.isalnum():  # 判断字符串是否只包含字母和数字
    9.        if t >= 2:
    10.            print("密码正确")
    11.        else:
    12.            print("密码错误,包含数字少于2个")
    13.    else:
    14.        print("密码错误,只能包含字母和数字")
    15. else:
    16.    print("密码长度至少为8")
    17. 结果:
    18. 请输入密码:da6d5f5!
    19. 密码错误,只能包含字母和数字
    20. 请输入密码:123
    21. 密码长度至少为8
    22. 请输入密码:161651981
    23. 密码正确
    24. 请输入密码:adasgegewr
    25. 密码错误,包含数字少于2

    例2 编写程序,实现输入一个二进制数转换为十进制数,如:1001 十进制 9,1 * 2^0+0 * 2^1+0 * 2^2+1 * 2 ^3

    1. # 例2 编写程序,实现输入一个二进制数转换为十进制数,如:1001 十进制 9,1 * 2^0+0 * 2^1+0 * 2^2+1 * 2 ^3
    2. str1 = input('请输入二进制数:')
    3. d1 = 0  # 接收转换结果
    4. t = 0  # 权值
    5. f = 1
    6. if str1.isnumeric():  # 判断字符串至少有一个字符且所有字符均为数字
    7.    str2 = str1[::-1]  # 将字符串逆置, str2接收逆置的结果
    8.    for i in str2:
    9.        if i == '1' or i == '0':
    10.            d1 = d1 + int(i) * 2 ** t
    11.        else:
    12.            print('无效数字')
    13.            f = 0
    14.            break
    15.        t = t + 1  # 权值+1
    16.    if f == 1:
    17.        print(str1, '转为是十进制整数是:', d1)
    18.    else:
    19.        print('无效数字')
    20. else:
    21.    print('输入格式错误')
    22.    
    23. 结果:
    24. 请输入二进制数:1001
    25. 1001 转为是十进制整数是: 9
    26. 请输入二进制数:asdag
    27. 输入格式错误
    28. 请输入二进制数:1984
    29. 无效数字

    例3 国际标准书号共10位:d1d2d3d4d5d6d7d8d9d10,最后一位d10是效验为,效验计算公式(d1 * 1+d2 * 2+d3 * 3+d4 * 4+d5 * 5+d6 * 6+d7 * 7+d8 * 8+d9 * 9)%11,若计算结果为10则使用x表示,编写程序,输入前9个内容,输出标准书号。

    1. # 例3 国际标准书号共10位:d1d2d3d4d5d6d7d8d9d10,最后一位d10是效验为,效验计算公式(d1 * 1+d2 * 2+d3 * 3+d4 * 4+d5 * 5+d6 * 6+d7 * 7+d8 * 8+d9 * 9)%11,若计算结果为10则使用x表示,编写程序,输入前9个内容,输出标准书号。
    2. str1 = input('请输入国际标准书号前9位:')
    3. check = 0
    4. t = 1
    5. for i in str1:
    6.    check = check + int(i) * t
    7.    t += 1
    8. check %= 11
    9. if check == 10:
    10.    check = 'x'
    11. print(str1 + str(check))
    12. 结果:
    13. 请输入国际标准书号前9位:123456789
    14. 123456789x

    例4 统计字符串汇总字母个数,存储到列表b[26],a的个数存储在b[0],b的个数存储在b[1],z的个数存储在b[25]

    1. #例4 统计字符串汇总字母个数,存储到列表b[26],a的个数存储在b[0],b的个数存储在b[1],z的个数存储在b[25]
    2. # 方法一
    3. 4 统计字符串汇总字母个数,存储到列表b[26],a的个数存储在b[0],b的个数存储在b[1],z的个数存储在b[25]str1 = input('请输入英文字符串')
    4. b = [0] * 26  # b 列表全部清零
    5. str1 = str1.lower()  # lower()大写转小写
    6. for i in str1:
    7.    if i.isalpha():  # isalpha()判断是否为字母
    8.        b[ord(i) - 97] += 1  # ord()提取当前字母的ASCII值,当前字母ASCII值减去首字母的ASCII值
    9. print(b)
    10. # 方法二
    11. str1 = input('请输入英文字符串')
    12. b = []
    13. str1 = str1.lower()
    14. for i in range(26):
    15.    b.append(str1.count(chr(97+i))) #chr() 转换为字符串
    16. print(b)
    17. 结果:
    18. 请输入英文字符串dasdaggtj
    19. [2, 0, 0, 2, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0]

    例5 将字符串中大写字母改写为下一个字母,Z字母改为A

    1. # 例5 将字符串中大写字母改写为下一个字母,Z字母改为A
    2. str1 = input('请输入大写英文字符串')
    3. for i in str1:
    4.   if i >= 'A' and i <= "Y":
    5.       i = chr(ord(i) + 1) # 转换为ACSII值+1后转换为字符串类型
    6.   elif i == 'Z':
    7.           i = 'A'
    8.   print(i, end='')
    9.    
    10. 结果:
    11. 请输入大写英文字符串asdhfwuADWHADIFHAF
    12. asdhfwuBEXIBEJGIBG

    上例改为:将大写字母改为上一个,A改为Z

    1. #上例改为:将大写字母改为上一个,A改为Z
    2. str1 = input('请输入大写英文字符串')
    3. for i in str1:
    4. if i >= 'B' and i <= "Z":
    5.     i = chr(ord(i) - 1)  # 转换为ACSII值+1后转换为字符串类型
    6. elif i == 'A':
    7.         i = 'Z'
    8. print(i, end='')
    9. 结果:
    10. 请输入大写英文字符串dsadABCD
    11. dsadZABC

    例6 将2个字符串逆置后交叉合并到新字符串中,如:str1= ‘abcdef ’,str2 = ‘12345678’,str3 = f8e7d6c5b4a321

    1. # 例6 将2个字符串逆置后交叉合并到新字符串中,如:str1= ‘abcdef ’str2 = ‘12345678’,str3 = f8e7d6c5b4a321
    2. str1 = input('请输入一个字符串:')
    3. str2 = input('请输入另一个字符串:')
    4. print(str1, str2, sep='\n')
    5. str1 = str1[::-1]  # 字符串切片逆序
    6. str2 = str2[::-1]
    7. str3 = ''
    8. i = 0
    9. j = 0
    10. while i < len(str1) or j < len(str2):
    11.    if i < len(str1):
    12.        str3 += str1[i]  # 拼接
    13.    if j < len(str2):
    14.        str3 += str2[j]
    15.    i += 1
    16.    j += 1
    17. print(str3)
    18. 结果:
    19. 请输入一个字符串:123456
    20. 请输入另一个字符串:abcd
    21. 123456
    22. abcd
    23. 6d5c4b3a21

    例7 字符串排序,Python中字符串类不允许直接修改元素,需要将其转换为列表之后进行排序,排完后转回字符串

    1. # 例7 字符串排序,Python中字符串类不允许直接修改元素,需要将其转换为列表之后进行排序,排完后转回字符串
    2. str1 = '987654321'
    3. list1 = list(str1)
    4. list1.sort()
    5. str1 = ''.join(list1)
    6. print(str1)
    7. 结果:
    8. 123456789

    例8 排除字符串首尾个元素,剩余内容排序

    1. # 例8 排除字符串首尾个元素,剩余内容排序
    2. str1 = input('请输入一个字符串:')
    3. str2 = str1[1:-1] #或者str1[1:len(str1)-1]
    4. list1 = list(str2)
    5. list1.sort()
    6. str2 = ''.join(list1)
    7. print(str1[0] + str2 + str1[-1])
    8. 结果:
    9. 请输入一个字符串:dcab
    10. dacb

    12.格式化字符串

            定义 --- 改格式化字符串是指指定一个模板,该模板留出一些空位,在根据需要天上相应的内容

            实现 --- 通过操作符 % 实现 --- %[ - ] [ + ] [ 0 ] [ .n ] % exp

    参数说明

             --- [ ]表示内容可选

            --- - 左对齐

            --- + 右对齐

            --- 0 右对齐,用0填充空白,一般配合参数m使用

            --- m 宽度

            --- n 小数保留位数

    格式化字符作用格式化字符作用
    %s字符串%r字符串
    %c单个字符%o八进制
    %d or %i十进制整数%e指数
    %x十六进制整数%E指数
    %f or %F浮点数%%字符串%

    1. str1 = '编号:%05d\t公司名称:%s官网:https://www.%s.com.'
    2. str2 = (1, '百度', 'baidu')
    3. str3 = (2, '腾讯', 'qq')
    4. str4 = (3, '字节跳动', 'bytedance')
    5. print(str1 % str2)
    6. print(str1 % str3)
    7. print(str1 % str4)
    8. 结果:
    9. 编号:00001 公司名称:百度官网:https://www.baidu.com.
    10. 编号:00002 公司名称:腾讯官网:https://www.qq.com.
    11. 编号:00003 公司名称:字节跳动官网:https://www.bytedance.com.

    13.通过format()方法来实现

    Python2.6版本以后推荐使用format( )方法

            格式 --- str.format (args)

    str --- 字符串显示的样式即模板

    args --- 需要转换的对象,若有多项可以使用逗号分隔

            占位符 --- { } 和 :

            模板格式 --- { index: fill aglin sign # width.percision type}

    index --- 索引位置,默认为0开始,省略自动分配

    fill --- 空白填充的字符

    aglin --- 对齐方式,一般与 width(宽度)配合使用

    < --- 左对齐

    > --- 右对齐

    = --- 内容右对齐,支队数字类型有效,即数字放在填充字符的最右侧

    ^ --- 内容居中

    sign --- 指定有无符号

    加号 ---正数

    减号 --- 负数

    空格 --- 正数加正号,负数加负号

    # --- 值为二、八、十六进制时,显示0b、0o、0x的前缀

    width --- 宽度

    percision --- 保留的小数位数

    type --- 类型

    14.字符串编码

            ASCII码 --- 对10个数字、52个英文大小写字母、其他字符进行编号最多表示256个字符,每个字符占1B

            GBK\GBK2312 --- 中文汉字编码,1B表示英文字母,2B表示汉字

    Unicode和UTF-8的关系

            Unicode --- 称为万国码、统一码,用于满足跨语言、跨平台的文件转换处理要求

            Unicode --- 包含全球所有国家的字符编码的映射关系,已达到编码的统一使用

            Unicode --- 表示字符太浪费空间,为了解决字符的存储和传输问题而产生了UTF编码

    UTF --- Unicode Transformation Format --- 只用于存储和传输的时候使用,便于存储和传输时节空间和时间

    UTF的分类 

            UTF-8 --- 使用1、2、3、4个字节表示字符,优先使用1B来表示字符,无法满足时增加1B,最多4B,英文占1B,欧洲语系2B,东亚语系3B,其他特殊字符占4B

            UTF-16 --- 使用2、4字节表示字符

            UTF-32 --- 直接使用4字节

    总结 --- UTF 编码是为了UNICODE编码设计的一种存储和传输时节省空间的编码方案

    15.Python中的字符串的两种类型

            str --- 在内存中使用了Unicode表示字符串

            bytes --- 字节类型,网络传输或存储磁盘时使用二进制表示,以b开头

    b'\xs2\xb0'

    使用encode()方法编码

            作用 --- 将字符串str 转为二进制(bytes)压缩成 bytes类型

            格式 --- strname.encide(encoding = ' 编码格式 ')

            编码格式 --- 可以省略,默认为UTF-8 ,也可以省略encoding =

    1. str1 = '书山有路清胃经'
    2. by1 = str1.encode('GBK')
    3. by2 = str1.encode()
    4. print('原字符串:%s' % str1, '转为GBK:%s' % by1, "转为UTF-8:%s" % by2, sep='\n')
    5. 结果:
    6. 原字符串:书山有路清胃经
    7. 转为GBK:b'\xca\xe9\xc9\xbd\xd3\xd0\xc2\xb7\xc7\xe5\xce\xb8\xbe\xad'
    8. 转为UTF-8:b'\xe4\xb9\xa6\xe5\xb1\xb1\xe6\x9c\x89\xe8\xb7\xaf\xe6\xb8\x85\xe8\x83\x83\xe7\xbb\x8f'

    使用decode()方法解码

            作用 --- 将bytes类型二进制数据转换为字符串

            格式 --- bytes.decode( endcoding = ' UTF-8 ')

    1. str1 = '书山有路清胃经'
    2. by1 = str1.encode('GBK')
    3. by2 = by1.decode('GBk')
    4. print('原字符串:%s' % str1, '转为GBK:%s' % by1, "解码%s" % by2, sep='\n')
    5. str1 = '书山有路清胃经'
    6. by1 = str1.encode('GBK')
    7. by2 = by1.decode('GBk')
    8. print('原字符串:%s' % str1, '转为GBK:%s' % by1, "解码%s" % by2, sep='\n')
    9. 结果:
    10. 原字符串:书山有路清胃经
    11. 转为GBK:b'\xca\xe9\xc9\xbd\xd3\xd0\xc2\xb7\xc7\xe5\xce\xb8\xbe\xad'
    12. 解码书山有路清胃经

  • 相关阅读:
    【C++】STL详解(五)—— list的介绍及使用
    js基本包装类型
    Python基础复习-面向过程的编程
    R语言——赋值(= ,<- ,<<-)
    防抖跟节流
    调皮的String及多种玩法(上部)
    STM32F103单片机C语言模块化编程实战:按键控制LED灯并串口打印详解与示例
    ClickHouse 数据插入、更新与删除操作 SQL
    css实现在一定的区域内最大程度的完整展示图片
    C++日期类运算符重载
  • 原文地址:https://blog.csdn.net/qq_57289939/article/details/127810922