员工管理系统
# 咱们目前做出来的系统肯定是不完善的,目的就是练习最近学习的相关知识点,里面存在的不合理或者不严谨的地方不要纠结
快捷键:从一行直接换行到下一行 >>> shift +enter
tab:往后缩进
shift+tab:往前缩进
字符编码
前提:字符编码只跟文本数据和字符串有关系,它跟视频文件、音频文件等无关
# 为什么要有字符串编码?
计算机内部只认识01二进制数据,但是,我们现在在计算机上写的各种各样的字符,为什么都能正常显示?
字符编码:它的内部记录着字符和数字之间的对应关系
0 ---> a
1 ---->b
00 ---> aa
01----> ab
000 ----> aaa
001 -----> aab
010101010--->你好
字符编码的发展史
1. 一家独大
计算机最开始是有美国人发明的,他们肯定是想让计算机识别英文字符
ASCII码表:它的内部记录了英文字符和数字之间的关系
# ASCII码表内置使用一个字节代表一个字符
# 一个字节等于8位
0000001
2 ** 7 == 128
2 ** 8 == 256
"""
在当初的时候,127种情况足够秒杀当时遇到的所有字符
后面使用8位代表一个字节是为了后续增加字符
"""
需要你记忆的是:
A-Z:65-
a-z:97-
0-9:48-
# 字符串的比较:是按照ASCII码表的十进制数进行比较的
print('hello' > 'world')
2. 群雄割据
中国人要想使用计算机,就自己开发了一套编码表:
GBK码表:它的内部记录了英文、中文和数字之间的对应关系
你----->129
好------>130
2 ** 16 == 65536
"""
它还是使用一个字节保存英文字符
使用两个字节保存中文字符
"""
日本人要想使用计算机,也得发明一套属于自己的编码表
Shift_JIS表
韩国人也要有一套属于自己的编码表
Euc-kr表
...
3. 一统天下
为了让世界上的所有国家之间能够彼此无障碍的交流,统一使用了编码
unicode(万国码)
# 它的内部是统一使用两个字节保存字符或者更多字符
由于原来的英文字符是使用一个字节保存的,现在万国码使用了两个字节,所以就把资源浪费了一倍
utf8编码(unicode的优化版本)
# 原来使用一个自己的英文字符,现在还使用一个字节保存
中文字符使用三个字节保存
2 **24
"""
最终得出结论:以后在使用字符编码的时候就使用utf8
"""
# 补充:
utf-8、utf-16、utf-32...、utf8mb4(存表情)
字符编码实操
1. 如何解决字符乱码问题?
# 你写的时候使用的是什么编码,打开的时候就使用什么编码打开
2. python解释器代码的差异
# **-coding:utf-8-**
# 在python2中,默认使用的编码是ASCII码
s = u'你好'
print s
'''python3中默认使用的是utf8编码'''
3. 编码和解码
编码:是把其他字符串转为二进制的过程
str----->0101
str----->unicode----->0101001
ASCII---->GBK------>unicode----->utf8
解码:把二进制转为其他字符串的过程
s = 'hello你好哈'
# 编码
res = s.encode('utf8')
# print(res) # b'hello' # 二进制 binary bin()
print(res) # b'hello\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x93\x88'
# 解码
res1 = res.decode('utf8') # gbk、utf8
print(res1) # hello你好哈
# 补充
s1 =b'hello123' # 只能是纯英文字符
s2='hello123'.encode('utf8')
文件操作
1. 为什么要使用代码操作文件?
# 当文件数量比较多的时候,人工操作就不太方便了,所以我们借助代码来操作
2. 如何操作文件?
三步骤:
1、 打开文件
2、操作文件(读、写)
3、关闭文件(释放资源的)
"""
在路径中如果出现了斜杠和字母连用的情况,为了不产生歧义,在字符串的前面加一个r
r'D:\python26\day09\aa\a.txt'
"""
f=open('a.txt', 'r', encoding='utf8')
# print(f) # <_io.TextIOWrapper name='a.txt' mode='r' encoding='utf8'>
print(f.read())
# 关闭文件
f.close() # 释放资源
# 方式2:打开文件
# with上下文管理器
with open('a.txt', 'r', encoding='utf8') as ffffff:
print(ffffff.read())
# 内部自动关闭close
标签:编码,字节,字符,utf8,管理系统,使用,print
From: https://www.cnblogs.com/huangchunfang/p/17560385.html