章节
问答
课签
笔记
评论
占位
占位

Python的字符串编码

在python2中,字符串的编码问题是使用python2必经历的门槛,所幸到了python3,python3从编程语言的层面就减少了很多编码的问题,但是学习字符串编码还是很有必要的。

为什么有编码问题

因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),0 - 255被用来表示大小写英文字母、数字和一些符号,这种编码方式被称为ASCII编码,比如大写字母 A 的编码是65,小写字母 z 的编码是122。
如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。
类似的,日文和韩文等其他语言也有这个问题。为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。

python3的编码

在python3中,默认使用UTF-8 Unicode来进行编码,因此我们可以在python中输入任意形式的Unicode字符串,都不会遇到像python2中遇到的问题(在python2中,需要显式指明该字符串是Unicode字符串),如果没有了解过python2,则完全可以忽略这一点,python3提供了更加简单易懂的编码方式。

s1 = '这是中文字符串'
s2 = 'this is an English string'
print(s1)
print(s2)

在python3中,中文字符串和英文字符串无异。

任务

请定义并打印中英文混合的字符串 "这是一句中英文混合的Python字符串:Hello World!"

?不会了怎么办

参考答案:

s = '这是一句中英文混合的Python字符串:Hello World!'
print(s)
||

提问题

写笔记

公开笔记
提交
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布
全部 我要发布
最热 最新
只看我的

手记推荐

更多

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?