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

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)
||
1
2
# coding: utf-8
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

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

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

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

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

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

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

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / lucasj
<...code...>

最新回答 / 肉本提
我也才发现哈哈哈哈哈

最赞回答 / 慕盖茨4301154
前面那条可以直接输出。后面那条将内容储存在了变量中,可以使用其他的代码进行更多的操作,比如字符串拼接、切片处理等。下载视频          

已采纳回答 / 幕布斯8123072
亲测(请看截图),没问题啊<...图片...><...图片...>

最新回答 / 慕无忌2375754
是不是你的双引号前面没有加反斜杠\,然后就乱码了,试试:a='\"这是一句中英文混合的python字符串:hello world\"'

最新回答 / Wind随风
L = [[1,2,3], [5, 3, 2], [7,3,2]]
for cube in L:
    length = cube[0]
    width = cube[1]
    height = cube[2]
    result = length * width * 2 + width * height * 2 + length * height * 2
    print(result)

最新回答 / 慕码人451688
不是很明白你的问题,是不是你的电脑输入法问题,打中文或者英文其实跟在聊天软件输入一样的

已采纳回答 / Expect3667087
表名整个代码所使用的编码吧,好像也不是必须的,我在其他地方写脚本没有这一句话也是可以正常运行的,开发我就不知道了

已采纳回答 / 慕田峪5759039
要在前面加上一句:#coding=utf-8

+ 我来回答 回答最高可+2积分

最赞回答 / 柒玖Kevin
print(s)就够了呀,为什么要加那个=
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言