笨办法学python3代码练习ex23.py 字符串字节串字符编码
2021-04-11 11:27
标签:问题 不用 其他 int 打开 win print 指定 计算机 首先简单说一下字符编码的问题。平常遇到比较多的就是ASCII码(全称:美国信息交换标准码)。ASCII码使用一个字节(8位)来表示一些常见的数字、英文字母以及一些控制字符。英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的。比如中文汉字就无法用ASCII来表示和编码。为了对世界上的各种语言符号进行统一的编码,于是发明了Unicode。Unicode将世界上所有的文字符号都纳入其中。每一个符号都给予一个独一无二的编码,这就是Unicode。就像它的名字都表示的,这是一种所有符号的编码。需要注意的是,Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。 Unicode的问题: UTF-8:互联网的普及,强烈要求出现一种统一的编码方式。UTF-8就是在互联网上使用最广的一种unicode的实现方式。其他实现方式还包括UTF-16和UTF-32,不过在互联网上基本不用。重复一遍,这里的关系是,UTF-8是Unicode的实现方式之一。 UTF-8的编码规则很简单,只有二条: 举例如下: 1字节 0xxxxxxx ex23.py 做这个练习需要下载一个languages.txt文件。可以百度下载,页可以直接用百度网盘下载。链接:https://pan.baidu.com/s/1_f2-sLYAwZA8xy6zTedDWg 提取码:9tgy 执行代码方式: python ex23.py utf-8 strict 最后说明一下: 本人使用的是win7 64位旗舰版系统,支持utf-8编码方式。 笨办法学python3代码练习ex23.py 字符串字节串字符编码 标签:问题 不用 其他 int 打开 win print 指定 计算机 原文地址:https://www.cnblogs.com/lsc666js/p/13359875.html
2字节 110xxxxx 10xxxxxx
3字节 1110xxxx 10xxxxxx 10xxxxxx
4字节 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
5字节 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
6字节 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 1 import sys
2 scripts, encoding, error = sys.argv
3
4
5 def main(language_file, encoding, errors): #自己定义main函数
6 line = language_file.readline()
7 if line:
8 print_line(line,encoding,errors) #函数定义在下面
9 return main(language_file,encoding,errors)
10
11 def print_line(line, encoding, errors):
12 next_lang = line.strip() #去除字符串开头和结尾指定的字符
13 raw_bytes = next_lang.encode(encoding, errors = errors)
14 cooked_string = raw_bytes.decode(encoding, errors = errors)
15
16 print(raw_bytes, "", cooked_string)
17
18
19 #打开文件,同时指定文件的编码方式
20 languages = open("languages.txt", encoding = "utf-8")
21
22 #调用自己定义main函数
23 main(languages, encoding, error)
上一篇:线程的状态
下一篇:java性能问题排查提效脚本工具
文章标题:笨办法学python3代码练习ex23.py 字符串字节串字符编码
文章链接:http://soscw.com/index.php/essay/74241.html