分享免费的编程资源和教程

网站首页 > 技术教程 正文

【学习打卡】P基础知识-字符串编码转换

goqiw 2024-09-03 01:33:55 技术教程 16 ℃ 0 评论
  • 最早的字符串编码是美国标准信息交换码,即ASCⅡ码
  • GBKGB2312是我国指定的中文编码标准,使用1个字节表示英文字母,2个字节表示中文字符
  • UTF-8是国际通用的编码,使用1个字节表示英文字符,3个字节表示中文
  • 两种常用的字符串类型:str bytes。str表示Unicode字符(ASCⅡ码或者其他),bytes表示二进制数据(包括编码的文本)。

encode()

encode()方法为str对象的方法,用于将字符串转换为二进制数据(即bytes)

str.encode([encoding="utf-8"][,errors="strict"])
  • str:要进行转换的字符串
  • encoding="utf-8":可选参数,用于指定进行转码时采用的字符编码,默认为UTF-8
  • errors="strict":可选参数,用于指定错误处理方式,默认值为strict(strict遇到非法字符就抛出异常;ignore忽略非法字符;replace用“?”替换非法字符;xmlcharrefreplace使用xml的字符引用等)
s = "您好,world!"
s_byte = s.encode('gbk')
print("原:",s)
print("换:",s_byte)

输出:

原: 您好,world!

换: b'\xc4\xfa\xba\xc3\xa3\xacworld\xa3\xa1'

decode()

decode()方法为bytes对象的方法,用于将二进制转换为字符串

bytes.decode([encoding="utf-8"][,errors="strict"])
  • str:要进行转换的二进制数据
  • encoding="utf-8":可选参数,用于指定进行转码时采用的字符编码,默认为UTF-8
  • errors="strict":可选参数,用于指定错误处理方式,默认值为strict(strict遇到非法字符就抛出异常;ignore忽略非法字符;replace用“?”替换非法字符;xmlcharrefreplace使用xml的字符引用等)
s =  b'\xc4\xfa\xba\xc3\xa3\xacworld\xa3\xa1'
print("解码后",s.decode('gbk'))

输出:

解码后: 您好,world!

注意:在使用encode()和decode()方法,不会修改原字符串,如果需要修改原字符串,需要对其进行重新赋值

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表