Python中的字符编码
字符集的历史(简要概括)
注:大类型的字符集可能包含了小类型字符集的内容,小类型的字符集中不一定就有大类型字符集中的内容
代码示例
def func_charset1(): """ 字符编码相关的方法使用 :return: """ print(ord("a")) # 97 print(chr(97)) # a if __name__ == "__main__": func_charset1()
Python中的字节与字符串
python中的编码与解码
代码示例
def func_charset2(): """ python中的字符与字节定义,字节字符串是ASCII字符集内的字符组成 :return: """ var1 = b"ABC" var2 = "ABC" print(f"{var1} - {type(var1)}") # b‘ABC‘ - <class ‘bytes‘> print(f"{var2} - {type(var2)}") # ABC - <class ‘str‘> def func_charset3(): """ python中的编码与解码(保证字符集一致) :return: """ print("中国,加油".encode("UTF8")) # b‘\xe4\xb8\xad\xe5\x9b\xbd,\xe5\x8a\xa0\xe6\xb2\xb9‘ print(b‘\xe4\xb8\xad\xe5\x9b\xbd,\xe5\x8a\xa0\xe6\xb2\xb9‘.decode("UTF8")) # 中国,加油 if __name__ == "__main__": func_charset2() func_charset3()
Python使用字节、字符读写文件
代码示例
str = "" def func_write_file_gbk(): """ 将指定的字符串按照指定的字符集(GBK)写入到指定的文件中 :return: """ with open(file="./a.txt",mode="w",encoding="gbk") as f: f.write("风萧萧兮易水寒") def fun_read_file_gbk(): """ 从指定的文件中以指定的字符集(GBK)读取文件内容 :return: """ # 函数内部修改全局变量的值之后,该变量会被视为局部变量,使用global标识全局变量 global str with open(file="./a.txt",mode="r",encoding="gbk") as f: str += f.read() print(str) def func_write_utf8(): """ 将指定的字符串按照指定的字符集(utf8)写入到指定的文件中 :return: """ with open(file="./a1.txt",mode="w",encoding="utf8") as f: f.write("壮士一去不复返!") def fun_read_file_utf8(): """ 从指定的文件中以指定的字符集(utf8)读取文件内容 :return: """ # 函数内部修改全局变量的值之后,该变量会被视为局部变量,使用global标识全局变量 global str with open(file="./a1.txt",mode="r",encoding="utf8") as f: str += f.read() print(str) if __name__ == "__main__": # 先写再读 func_write_file_gbk() # 以gbk字符集写入内容到文件中 fun_read_file_gbk() # 以gbk字符集读取内容:风萧萧兮易水寒 func_write_utf8() # 以utf8字符集写入内容到文件中 fun_read_file_utf8() # 以utf8字符集读取文件中的内容 print(str) # 读取不同类型的字符集数据得到相同类型的字符集数据进行拼接:风萧萧兮易水寒壮士一去不复返!
Python使用二级制数据读写文件
代码示例
def func_write_binary(): """ 写入二进制数据到指定的文件中 :return: """ with open(file="./b.txt", mode="wb") as f: f.write(b‘\xe4\xbd\xa0\xe5\xa5\xbd,\xe4\xb8\xad\xe5\x9b\xbd\xef\xbc\x81‘) def func_read_binary(): """ 以二进制方式读取文件内容,读取出来的是二进制数据 :return: """ with open(file="./b.txt",mode="rb") as f: print(f.read()) if __name__ == "__main__": print("你好,中国!".encode("UTF8")) # b‘\xe4\xbd\xa0\xe5\xa5\xbd,\xe4\xb8\xad\xe5\x9b\xbd\xef\xbc\x81‘ # 先写再读 func_write_binary() # 将二进制内容写入文件,文件的内容:“你好,中国!” func_read_binary() # 将文件中的内容以二进制方式读出:b‘\xe4\xbd\xa0\xe5\xa5\xbd,\xe4\xb8\xad\xe5\x9b\xbd\xef\xbc\x81‘
原文:https://www.cnblogs.com/jason2018524/p/13086913.html