常见的字符编码(ASCII码,unicode,utf-8,gbk)

常见单位换算

bit 位 计算机的最小表示单位(0,1)
bytes 字节 计算机最小的存储单位,缩写B
1 B = 8 bit
1 KB = 1024 B
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB

字符编码

  1. ASCII码
    一个字节表示具体的字符,只用了后七位(2 ^ 7 = 128)最前面的一位统一为0,能够表示128个字符,其中包括了英文字符、阿拉伯数字、西文字符以及32个控制字符。
  2. 扩展的ASCII码
    用来表示更多的欧洲文字,不同国家有不同的字符编码,即使都是256个字符编码,但后128个字符的编码方式不一样,代表的字母也不一样
  3. Unicode 字符集
    包含了世界上所有的字符,并且每一个符号都是独一无二的;
    出现问题:中文需要两个字节进行存储,而用两个存储字节英文字符时,前面一个字节都为0,造成存储的浪费;出现了 Unicode 的多种的存储方式;
  4. Utf-8
    UTF-8是互联网上使用最广的一种Unicode的实现方式,是一种可变长的编码方式。对于单字节的符号,字节的第一位设为0,后面7位为这个符号的Unicode码。因此对于英文的字母,UTF-8编码和ASCII码是相同的;对于n(n>1)字节的符号,第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10,剩下没有提及的二进制位,全部为这个符号的Unicode;
  5. GBK /GB2312 /GB18030
    G B K 和 G B 2312 都是对简体字的编码,只是G B 2312只支持六千多个汉字编码,而G B K支持1万多个汉字编码,而 G B 18030 是繁体字的编码。汉字存储时都使用两个字节进行存储。

python出现编码错误问题

#python 支持utf-8的编码格式,打开文件时,可将参数enconding设置为utf-8
f = open(filename,mode,enconding=utf-8)
f1 = f.read()
print(f1)
f.close()

'''
open其它参数:
errors 取值一般为strict, ignore,当取strict时,字符编码出现问题,会报错,取ignore参数时,程序会忽略,		  继续执行
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值