首页
学习
活动
专区
工具
TVP
发布

Python 有关 Unicode UTF-8 GBK 编码问题详解

-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx 0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx Python...= '汉' print("汉字utf8格式:",a.encode('utf8')) print('汉字unicode格式:',a.encode('unicode_escape')) print('汉字gbk...格式:b'\\u6c49' 汉字gbk格式:b'\xba\xba' 汉字gb2312格式:b'\xba\xba' 可以看到以上结果,汉字的汉通过 print 打印时用的是 unicode 编码,存储时使用...编码保存的文件使用 utf8 打开时会报错,使用 gbk 打开即可 with open(r'gbk.txt','r',encoding='utf-8') as f: print(f.read...GBK: 汉字国标扩展码,基本上采用了原来 GB2312-80 所有的汉字及码位,并涵盖了原 Unicode 中所有的汉字 20902,总共收录了 883 个符号, 21003 个汉字及提供了 1894

1.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

UNICODE,GBK,UTF-8

UNICODE,GBK,UTF-8 UNICODE,GBK,UTF-8     简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的...,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与gbk就是不一样的,假设uncode为a040,gbk为b030,而uft-8码,就是把那个值表现的形式.utf-8码完全只针对uncode...按照程序员的称呼,GB2312、GBK都属于双字节字符集 (DBCS)。 2000年的GB18030是取代GBK1.0的正式国家标准。...所以GBK和GB18030的低字节最高位都可能不是1。...是按照Unicode编码解释、还是按照GBK解释、还是按照BIG5解释,还是按照ISO8859-1去解释?如果按GBK去解释,就会得到“汉字”两个字。

2.6K20

Unicode,GBK和UTF-8

('utf8').decode('gbk') 浣犲ソ 如上面的代码所示, “你好"两个汉字字符的unicode分别为4f60和597d, utf-8编码后占6个字节, 而gbk编码后占4个字节....如果用utf8编码后错误地用gbk来解码, 就会得到3个unicode码点,分别表示字符浣,犲和ソ;而如果用gbk编码后 错误地用utf8来解码, 则在解码第二个字符时无法凑够3个字节, 因此会得到未知的结果...注: 本文的python代码示例是在Linux Terminal下运行的, 因此默认为utf-8编码, 如果你是在Windows cmd里运行, 则通常默认GBK编码, 因此乱码会在不同地方出现:)...’屯’的gbk编码, 如下所示: >>> u'烫' u'\u70eb' >>> u'烫'.encode('gbk') '\xcc\xcc' >>> u'屯' u'\u5c6f' >>> u'屯'.encode...('utf8')*2).decode('gbk') 锟斤拷 可以看到,汉字"锟斤铐”(Unicode)的gbk编码分别为\xef\xbf, \xbd\xef和\xbf\xbd, 正好是unicode码FFFD

1.5K20
领券