字符编码
字符编码
字符串类型、文本文件的内容都是由字符组成的,但凡涉及到字符的存取,都需要考虑字符编码的问题。
人类在与计算机交互时,用的都是人类能读懂的字符,如中文字符、英文字符、日文字符等
而计算机只能识别二进制数
翻译的过程必须参照一个特定的标准,该标准称之为字符编码表,该表上存放的就是字符与数字一一对应的关系。
0 a
1 b
00 aa
01 ab
000
001
010
字符编码的发展史
一家独大:
计算机起源于美国,所以,最开始的时候,计算机只考虑了英文字符 ASCII码表:
'''
1、只有英文字符与数字的一一对应关系
2、一个英文字符对应1Bytes,1Bytes=8bit,8bit最多包含256个数字,可以对应256个字符,足够表示所有英文字符 0 : 48 A :65 a : 97 '''
群雄割据
为了让计算机能够识别中文和英文,中国人定制了GBK GBK编码: # GBK表的特点:
1、只有中文字符、英文字符与数字的一一对应关系
2、 一个中文字符使用两个或者两个以上的bytes记录 2bytes = 16位 16位可以表示 2 ** 16 种情况 ''' 如果超过了2 ** 16,gbk就会使用一个中文字符用3个字节表示 '''
Shift_JIS表的特点:
1、只有日文字符、英文字符与数字的一一对应关系
Euc-kr表的特点:
1、只有韩文字符、英文字符与数字的一一对应关系 .
分久必合
为了让世界各国的字符统一起来,就诞生了unicode编码 unicode(万国码): 统一使用2个字节进行表示 eg:adsadsadsadsadsad
1. 存在所有语言中的所有字符与数字的一一对应关系,即兼容万国字符
utf-8编码(unicode的优化版本)
'''
把英文字符还按照一个字节表示
中文字符还按照2个字节或者更多字节表示
'''
得出结论:以后我们都使用utf-8编码
字符编码的差异
1. 如何解决乱码问题
切换对应的编码
2. python解释器版本不同代码的差异
python2
python3
'''
python2诞生的时候,还没有utf8的编码,所以,python2中不能使用utf8的编码
'''
3. pycharm如何添加模板注释
settings
editor
file and code templates
python script
在这个里面写你想添加的内容
4. 编码与解码
编码:
# 把人类能够读懂的字符按照转成计算机能够识别的字符的过程
解码
# 把计算机能够读懂的字符按照转成人类能够识别的字符的过程
如何操作?
s = '你好啊,世界'
# 编码
# print(s.encode('gbk'))
s1 = s.encode('utf8')
# 解码
s2 = s1.decode('utf8')
print(s2)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现