字符编码与二进制与转码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符编码与二进制与转码相关的知识,希望对你有一定的参考价值。

#ASCII 255 1bytes,1980年GB2312 7000,1995年GBK1.0 2w,2000年GB18030,Unicode 1bytes,utf-8 en:1bytes zh:3bytes
#都向下兼容。
#最后出现Unicode(统一码,万国码,单一码)
#ASCII码一个英文站1个字节,8位
#Unicode中英文都站2个字节,16位
#utf-8 英文为1字节,中文为3字节

#GBK [decode]转换为unicode编码然后通过[encode]转换成utf-8
#utf-8[decode]转换为unicode编码然后通过[encode]转换成GBK

import sys

print(sys.getdefaultencoding())#打印默认使用的编码

#encode后都是字节(bytes)类型 decode转换成字符串
#decode后是unicode

q="你哈" #默认unicoude
print(q)
q_gbk=q.encode("gbk") # 默认是unicoude直接转换成gbk
q_utf8=q.encode()#默认转成utf-8
print(q_gbk)
print(q_utf8)
gbk_to_utf8=q_gbk.decode("gbk").encode("utf-8") #告诉decode我是gbk转成unicode再encode成utf-8
print("utf-8",gbk_to_utf8)

utf8_to_gbk=q_utf8.decode("utf-8").encode("gbk")#告诉decode我是utf-8转换成unicode再转换成gbk
print("gbk",utf8_to_gbk)

s="你哈"

#转换成gb2312
s_2312=s.encode("utf-8").decode("utf-8").encode("gb2312")
s_2=s.encode("gb2312")
print("gb2312",s_2312)
print("gb2",s_2)

以上是关于字符编码与二进制与转码的主要内容,如果未能解决你的问题,请参考以下文章

python的 随手记----字符编码与转码

在ASCII码字符编码中,啥字符无法显示或打印出来

计算机组成原理 王道考研2021 第二章:数据的表示和运算 -- BCD码字符与字符串(ASCII大端模式 / 小端模式)

在ASCII码字符编码中,啥字符无法显示或打印出来

python字符编码与转码

python——字符编码