在python2中的编码

#_author:star
#date:2019/10/29
'''
字符编码:
ASCII:只能存英文和拉丁字符,
gb2312:只能6700中文,1980年
gbk1.0:存了20000多字符,1995年
gb18030:2000年,27000中文 unicode:UTF_32一个字符占4个字节
unicode:UTF_16一个字符占2个字节或两个以上,65535
unicode:UTF_8一个英文用ASCII来存,一个中文占3个字节
(1)在 python2 中UTF-8先解码到Unicode
然后Unicode在编码到GBK
(2)在 python2 中GBK先解码到Unicode
然后Unicode在编码到UTF—8
(3)在 python3中的encode()和python2 中的encode()不同,python2里的encode()只是单纯的编码。
python3中的encode()在编码的同时还要将其转为bytes类型,decode()在解码的同时还要将bytes类型转为字符串
'''
s='特斯拉'
s_to_unicode=s.decode('UTF-8')#(1)在 python2 中UTF-8先解码到Unicode
unicode_to_gbk=s_to_unicode.encode("gbk")#,然后Unicode在编码到GBK
print(s)#utf-8 乱码
print('unicode:',s_to_unicode)#unicode
print('gbk:',unicode_to_gbk)#gbk gbk_to_unicode=unicode_to_gbk.decode('gbk')
unicode_to_utf8=gbk_to_unicode.encode('utf-8')
print(gbk_to_unicode)
print(unicode_to_utf8)

最新文章

  1. [威客任务]¥800.00 JS实现网站联动三级选项
  2. kali Linux 文本图形界面切换遇到的怪问题
  3. 【HDU3948】 The Number of Palindromes (后缀数组+RMQ)
  4. 在Firefox浏览器中关闭缓存.命令
  5. Android 5.0(棒棒糖))十大新特性
  6. 201521123063 《Java程序设计》 第12周学习总结
  7. js中的稀疏数组和密集数组
  8. C++ 指针大小
  9. UNIX网络编程——使用线程的TCP回射服务器程序
  10. oracle 数据库 date + 1 转载
  11. 【转】Javascript错误处理——try…catch
  12. UBUNTU 16.04 安装AVD "An error occurred while running "android create avd
  13. key单片机按键抖动
  14. Linux中各个目录作用
  15. css3的clip-path方法剪裁实现
  16. Linear SVM和LR的区别和联系
  17. 2015 HIAST Collegiate Programming Contest D
  18. 12C -- ORA-01033: ORACLE initialization or shutdown in progress
  19. JUnit 4.0学习笔记
  20. Java开发环境安装配置

热门文章

  1. SPSS单一样本的T检验
  2. class11_messagebox 弹窗
  3. java通过传送地址获取坐标
  4. mysql主从复制原理分析
  5. laravel sql mode only_full_group_by 解决小记
  6. Linux tee命令使用详解分享
  7. 两个对象值相同 (x.equals(y) == true),但却可有不同的 hash code,这句话对不对?
  8. TopCoder代码格式模板
  9. Delphi屏幕截图的实现
  10. DelphiHookApi(经典)