首页IT科技中文字符编码转换(字符编码)

中文字符编码转换(字符编码)

时间2025-05-29 11:13:04分类IT科技浏览3900
导读:字符编码 1.字符编码简介 字符编码只针对文本文件 计算机内部存储数据的本质是二进制 也就是计算机只认识0和1 我们打出来的字能被计算机识别是因为中间有一层转换关系>>字符编码表、...

字符编码

1.字符编码简介

字符编码只针对文本文件 计算机内部存储数据的本质是二进制 也就是计算机只认识0和1 我们打出来的字能被计算机识别是因为中间有一层转换关系>>字符编码表、

2.字符编码发展的三个阶段

阶段一:一家独大

由于计算机是美国人发明的 为了可以让计算机识别英文 所以发明了ASCII码

ASCII码中记录了英文字母跟数字的对应关系>>用1字节来表示一个英文字符

A-Z:65-90

a-z:97-122

阶段二:群雄割据

各国都有自己的字符编码

中国:GBK码 记录中文、英文与数字的对应关系>>用2个字节来表示一个字符

日本:shift_JIS码 记录日文、英文与数字的对应关系

韩国:Euc_kr码 记录韩文、英文与数字的对应关系

PS:此时各个国家之间编码不一致,不同数据无法直接交互会出现乱码!

阶段三:天下统一

万国码(unicode):兼容多个多家语言与数字的对应关系 >>用2字节表示一个字符

后来utf家族发布了优化版:utf8 英文采用1字节 中文采用3字节

ps:内存使用unicode 硬盘采用utf8

3.字符编码相关操作

只有字符串可以参与编码解码 其他数据类型需要先转成字符换才可以

解决乱码的措施

1.当初用什么编码存的就用什么编码解码 2.一个一个切换尝试

编码与解码

编码:人类字符--->计算机字符

将人类字符按照指定的编码编程计算机可以识别的数字

encode()

#encode()编码 s1 = 张三 res = s1.encode(utf8) print(res) #结果为:b\xe5\xbc\xa0\xe4\xb8\x89

解码:计算机字符--->人类字符

将计算机可以识别的数字按照指定的编码解成人类可以读懂的字符

decode()

#decode()解码 res1 = res.decode(utf8) print(res1) #结果为:张三

不同版本解释器的区别

python2默认的编码是ASCII码 如果想要使用utf8需要:

1.文件最开头输入:#encoding:utf8

2.每个字符串前面都要加u print u我是小美女

python3默认就是utf8

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
程序员面试辅导(程序员面试找替身 “作弊” 入职,结果大快人心。。。)