字符编码的转换

编码问题一直是个难以理解的问题,莫名其妙转换来转换去的,程序的结果就能正确输出,最后还是留出一点时间开始理解这个棘手的问题。

python有两种字符串类型,str、unicode,这两者都是basestring的子类

str是字节串,而unicode则是真正意义上的字符串

str可以通过decode()函数转换成unicode;

unicode可以通过encode()函数转换成str。

unicode是支持所有文字的统一编码,但一般只用作文字的内部表示,文件、网页(也是文件)、屏幕输入输出等处均需使用具体的外在编码,如GBK、UTF-8等

unicode是一种二进制编码,所有的utf-8和gbk编码都得通过unicode编码进行转译,utf-8和gbk编码之间不能直接转换,要在unicode之间过个场才能转换。

#假如我知道一串编码是用utf-8编写的,怎么转成gbk呢

u = s.decode("utf-8") # 将utf-8的str转换为unicode

g = u.encode('GBK') # 将unicode转换为str,编码为GBK

#或

s.decode('utf-8').encode('gbk')

根据图形进行转换即可

如何查看字符的编码格式?

下载第三方模块chardet

import chardet

s = '汉字'

print chardet.detect(s)

>>> {'confidence': 0.99, 'encoding': 'utf-8'} #chardet.detect()返回字典,其中confidence是检测精确度,encoding是编码形式

python字符编码正确的是_python字符编码相关推荐

  1. python字符编码用什么储存卡_python字符编码

    一 了解字符编码的知识储备 一 计算机基础知识 二 文本编辑器存取文件的原理(nodepad++,pycharm,word) #1.打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的 ...

  2. python字符编码使用ascii编码储存对么_Python字符编码详解(转)

    1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有 ...

  3. python怎么对字符串进行分组_python 字符分组

    展开全部 按照你的思路62616964757a686964616fe58685e5aeb931333337613932,以/为分割条件 使用字符串的find方法 S.find(substr, [sta ...

  4. python编码规范腾讯_Python PEP8 编码规范中文版

    # Naming Conventions 命名规范 Python 库的命名规范很乱,从来没能做到完全一致.但是目前有一些推荐的命名标准.新的模块和包(包括第三方框架)应该用这套标准,但当一个已有库采用 ...

  5. python字符编码讲解_python 字符编码讲解

    ASCII控制字符  Unicode编码 ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字 ...

  6. python无法打印unicode编码_【整理】Python中实际上已经得到了正确的Unicode或某种编码的字符,但是看起来或打印出来却是乱码...

    [背景] Python中的字符编码,其实的确有点复杂. 再加上,不同的开发环境和工具中,显示的逻辑和效果又不太相同,尤其是,中文的,初级用户,最常遇到的: (1)在Python自带的IDE:IDLE中 ...

  7. 字符编码在python中的处理_python 字符编码处理问题总结

    Python中常常遇到这种字符编码问题,尤其在处理网页源代码时(特别是爬虫中): UnicodeDecodeError: 'XXX' codec can't decode bytes in posit ...

  8. 字符编码在python中的处理_Python 字符编码处理总结

    Python中经常遇到这样那样的字符编码问题,尤其在处理网页源码时(特别是爬虫中): UnicodeDecodeError: 'XXX' codec can't decode bytes in pos ...

  9. python打印unicode编码_【整理】Python中实际上已经得到了正确的Unicode或某种编码的字符,但是看起来或打印出来却是乱码...

    转自:http://www.crifan.com/python_already_got_correct_encoding_string_but_seems_print_messy_code/ [背景] ...

最新文章

  1. NVIDIA Turing Architecture架构设计(上)
  2. [No000039]操作系统Operating Systems用户级线程User Threads
  3. python开发跟淘宝有关联微_使用Python分析淘宝用户行为
  4. Hibernate之对象关系映射文件
  5. 解决windows7您当前无权访问该文件夹的问题
  6. 发布单机端DELPHI程序访问MySQL必备文件
  7. 你赚不到钱的原因,是你把自己放错了地方
  8. html table导出到Excel中,走后台保存文件,js并调用另保存
  9. jquery中DOM加载事件,onload事件和ready事件
  10. 章节十一、1-Junit介绍
  11. matlab 展开多项式,matlab中freqz的用法以及多项式的展开
  12. 机器学习(上)线性回归、多项式回归、标准差、百分位数、数据分布、散点图
  13. 多模态(Fusion)融合的几种骚操作
  14. FFmpeg的错误码
  15. Jmeter,Linux下执行./jmeter报错【./jmeter:Permission denied】
  16. MATLAB绘制堆叠形柱状图
  17. 在web-actix框架上实现上传文件
  18. 如何高效的搜索github上面的资源
  19. RTC时钟晶振为什么都是32.768K
  20. 移动WEB开发之响应式布局--阿里百秀首页案例

热门文章

  1. sql相同顺序法和一次封锁法_不到75行代码,导出最高法指导案例到excel(一)...
  2. python中raise stoplteration_Python面向对象学习笔记3
  3. php计算字符串散列,php计算字符串的SHA-1散列函数sha1()
  4. 服务器系统的功能,服务器操作系统有什么功能
  5. 运行VINS-mono:/home/tony-ws1/output/pose_graph/ not exists, trying to create it /home/tony-ws1/ou错误解决
  6. 底部按钮吸附_知乎的药丸按钮(二)我的 iOS 实现
  7. python操作sqlite数据库_Python操作Sqlite正确实现方法解析
  8. 全栈python_Pyodide:在浏览器端实现Python全栈科学计算
  9. 数据库MySQL驱动5.1.22下载_mysql-connector-java-5.1.22下载
  10. mysql三高讲解(二):2.1 索引组织表