各种编码意义:
参考链接https://blog.csdn.net/qq_33733970/article/details/81084465

  • GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码
  • GBK 是 GB2312的扩展 ,除了兼容GB2312外,它还能显示繁体中文
  • cp936(中文编码)中文本地系统是Windows中的cmd,默认codepage是CP936,cp936就是指系统里第936号编码格式,即GB2312的编码
  • Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。
  • UTF-8 (8-bit Unicode Transformation Format)是最流行的一种对 Unicode
    进行传播和存储的编码方式。它用不同的 bytes 来表示每一个代码点。ASCII 字符每个只需要用一个 byte ,与 ASCII的编码是一样的。所以说 ASCII 是 UTF-8 的一个子集。
  • UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。
# -*- coding: cp936 -*-
#str字符串格式
s = '中国'
print type(s)#<type 'str'>
print s#Unicode编码格式
u = u'中国'
print type(u)#<type 'unicode'>
print u #将Unicode编码的字符串u-->变换成str格式
str1 = u.encode('cp936')
print type(str1)
print str1str2 = u.encode('utf-8')
print type(str2)
print str2#将str编码的字符串s-->变换成Unicode格式
str3 = s.decode('gbk')
print type(str3)
print str3

输出结果:

<type 'str'>
中国
<type 'unicode'>
中国
<type 'str'>
中国
<type 'str'>
中国
<type 'unicode'>
中国

将# -- coding: cp936 --换成# -- coding: utf-8 --,输出结果如下:

<type 'str'>
中国
<type 'unicode'>
中国
<type 'str'>
中国
<type 'str'>
中国Traceback (most recent call last):File "C:\Users\gezi9\Desktop\编码转换.py", line 24, in <module>#灏唖tr缂栫爜鐨勫瓧绗︿覆s-->鍙樻崲鎴怳nicode鏍煎紡
UnicodeDecodeError: 'gbk' codec can't decode bytes in position 2-3: illegal multibyte sequence

去掉# -- coding: cp936 --和# -- coding: utf-8 --等,输出结果如下:

<type 'str'>
中国
<type 'unicode'>
ÖйúTraceback (most recent call last):File "C:\Users\gezi9\Desktop\编码转换.py", line 15, in <module>str1 = u.encode('cp936')
UnicodeEncodeError: 'gbk' codec can't encode character u'\xd6' in position 0: illegal multibyte sequence

在shell中执行上述程序:

>>> s = '中国'
>>> type(s)
<type 'str'>
>>> s
'\xd6\xd0\xb9\xfa'
>>> print s
中国>>> u = u'中国'
>>> type(u)
<type 'unicode'>
>>> u
u'\u4e2d\u56fd'
>>> print u
中国>>> str1 = u.encode('cp936')
>>> type(str1)
<type 'str'>
>>> str1
'\xd6\xd0\xb9\xfa'>>> str2 = u.encode('utf-8')
>>> type(str2)
<type 'str'>
>>> str2
'\xe4\xb8\xad\xe5\x9b\xbd'>>> str3 = s.decode('gbk')
>>> type(str3)
<type 'unicode'>
>>> str3
u'\u4e2d\u56fd'>>>

python2 中文字符编码转换相关推荐

  1. Python2.7字符编码详解

    Python2.7字符编码详解 目录 Python2.7字符编码详解 声明 一. 字符编码基础 1.1 抽象字符清单(ACR) 1.2 已编码字符集(CCS) 1.3 字符编码格式(CEF) 1.3. ...

  2. java中文字符怎么保证出现正确_JAVA中文字符编码问题详解

    JAVA中文字符编码问题详解 JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后,经过极为辛苦的调试和搜索资 ...

  3. (best!)JAVA中文字符编码问题详解

    转载自:http://blog.csdn.net/youyue/article/details/4580402 JAVA中文字符编码问题详解 JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应 ...

  4. 网页编码与数据传递中的中文字符编码

    最近工作中遇到中文编码,中文参数传递,AJAX返回值包含中文乱码的问题,为此奋斗了一宿,有点心得,有点体会,总结如下,希望对迷惑于此中者有解惑之功效! 在网上一阵狠搜,编码函数的确是有,包括Javas ...

  5. java生成html 控制编码方式_JAVA中文字符编码问题详解 控制台输出

    JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后, 经过极为辛苦的调试和搜索资料后终于解决,满以为自己已经 ...

  6. 解决Python3中的中文字符编码的问题-亲测有效

    解决Python3中的中文字符编码的问题 一.原理篇: Unicode是一32位编码格式,不适合用来传输和存储,所以必须转换成utf-8,gbk等等.这篇文章主要介绍了Python3中的解决中文字符编 ...

  7. JAVA中文字符编码问题详解

    JAVA中文字符编码问题详解 JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后,经过极为辛苦的调试和搜索资 ...

  8. iconv 判断字符编码_iconv字符编码转换全攻略

    iconv(http://www.gnu.org/software/libiconv/)是一个开源的字符编码转换库,可以"方便"的完成几乎所有的编码转换工作.说简单是因为,它常用的 ...

  9. Qt中的字符编码转换:UTF8、Unicode、GBK、ASCII、16进制字符、16进制数值

    文章目录 前言 简述 ASCII GBK Unicode UTF-8 应用场景 开发环境 编码转换 16进制数值转换为16进制字符 16进制数值转化为字符串 16进制字符串转换为Unicode字符串 ...

最新文章

  1. 每周四十小时,你有多少是在为自己干活?
  2. PAT Basic 1048
  3. 撩课-Java每天5道面试题第12天
  4. 交换第六天——HSRP、VRRP、GLBP、SPAN
  5. Angular CLI 全局 ng.cmd 文件内容分析
  6. 再写循环队列----c++实现
  7. java按照io流向基类_Java IO详解
  8. java B2B2C Springcloud多租户电子商城系统- Gateway 之Predict篇...
  9. 使用特殊字体实现特殊报表效果
  10. UI2CODE智能生成flutter代码--整体架构 资料下载
  11. 酷派大观4 8970 刷android 4.4,酷派5890驱动 酷派 8970L(大观4)recovery卡刷通用刷机教程...
  12. abaqus移动热源DFLUX
  13. 2019年VQA论文整理
  14. 用户故事 | 验收标准
  15. 视频教程-嵌入式Linux驱动教程(韦东山2期)-驱动/内核开发
  16. 计算机控制原理 实验,计算机控制原理实验-直流电机实验
  17. Android MediaRecorder录制视频详细步骤
  18. [Solved] Pycharm 提示Unresolved reference
  19. 2011年中国城市高校数量排行榜(前十名)
  20. Ubuntu 安装MTP驱动访问安卓设备

热门文章

  1. 短视频火爆全网也难逃一死
  2. Visual Studio的正确打开方式|9中种常见错误
  3. mysql unique 重复_Mysql中 unique列插入重复值该怎么解决呢
  4. redis集群报错:(error) MOVED 解决方法
  5. 集成产品开发(IPD)简介
  6. Mybatis-plus 代码生成器(新)
  7. 原 CSS3学习第11篇——综合练习弹跳滚动的小球
  8. Springboot毕设项目海尔空调售后服务系统d70j3java+VUE+Mybatis+Maven+Mysql+sprnig)
  9. 直接打开网址可以跳转,通过window.open报错404
  10. Django 使用QSL server数据库