zoukankan      html  css  js  c++  java
  • 字符编码总结


    字符编码发展:
    ASCII 255 1个字节
    1980 gb2312
    1995 GBK1.0
    2000 GB18030
    Unicode 英文1byte,欧洲2bytes,中文3bytes
    utf-8可变长,英文单词存的是ASCII码,1byte;中文存的是Unicode,3bytes

    不同编码格式之间的相互转换:
    转换规则:python2和python3中不同编码格式之间的相互转换都要经过Unicode
    转换方法:先decode(’编码格式‘)转成Unicode在encode(’需要传换成的编码格式‘)

    注意:python所有的数据类型都是Unicode,-*- coding:utf-8 -*-声明的是文件编码格式

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 # Author:James Tao
     4 
     5 import sys
     6 
     7 print('默认编码格式为',sys.getdefaultencoding())#显示默认编码格式
     8 
     9 s='你好'#s的格式依然是Unicode,所以s.decode不存在
    10 
    11 print('s经过gbk编码之后得到',s.encode('gbk'))
    12 print('s经过utf-8编码之后得到',s.encode('utf-8'))
    13 print('s经过utf-8编码,再解码成Unicode,再经过gb2312编码之后得到',s.encode('utf-8').decode('utf-8').encode('gb2312'))
    14 print('s经过gb2312编码之后得到',s.encode('gb2312'))
    15 
    16 s_gbk=s.encode('gbk')#gbk编码,python3默认再转成bytes类型
    17 print('s:',s)
    18 print('s经过gbk编码之后得到:',s_gbk)
    19 print('s经过utf-8编码之后得到:',s.encode())
    20 
    21 gbk_to_utf8=s_gbk.decode('gbk').encode('utf-8')#先将gbk转成Unicode再转成utf-8
    22 print('将gbk转换成utf-8后的s:',gbk_to_utf8)
    
    

    得到结果:

     
  • 相关阅读:
    关于java和jvm的思考
    java之try、catch、finally
    Microsoft SQLServer有四种系统数据库
    HDU 5087
    uva639 暴力、回溯
    uva127
    uva 131
    洛谷 P2580 于是他错误的点名开始了
    字典树(trie)
    HTML学习笔记
  • 原文地址:https://www.cnblogs.com/BIT-taozhen/p/9769724.html
Copyright © 2011-2022 走看看