Unicode

注意:Unicode只是一个符号集,它规定了符号的二进制代码,却没有规定二进制代码如何存储。

所称的Unicode编码指的是UCS编码方式,即直接存入符号的Unicode二进制代码。

UTF-8

UTF-8是互联网上使用最广的一种Unicode的实现方式。

UTF-8是一种变长的编码方式,它使用1-4个字节表示一个符号,根据不同的符号选择不同长度的字节表示。

UTF-8的编码规则很简单,只有二条:

1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。

2)对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。

Unicode符号范围(16进制) UTF-8编码方式(2进制)
0000 0000-0000 007F 0xxxxxxx
0000 0080-0000 07FF 110xxxxx 10xxxxxx
0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

跟据上表,解读UTF-8编码非常简单。如果一个字节的第一位是0,则这个字节单独就是一个字符;如果第一位是1,则连续有多少个1,就表示当前字符占用多少个字节。

Unicode与UTF-8的转换方式:

在Windows系统最简单的方式是采用记事本打开文档然后选择编码方式另存为。

GBK

GBK是国家标准GB2312基础上扩容后兼容GB2312的标准。GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GBK包含全部中文字符,是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBD大。GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换。

编码转换

【python 2.7中】

temp = "小明" #utf-8
temp_unicode = temp.decode('utf-8') #解码需要指定原来是什么编码
temp_gbk = temp_unicode.encode('gbk')#编码需要指定要编成什么编码
print(temp_gbk)

【python 3.5中】——自动转换;移除了python的unicode类型

temp = "小明"
temp_gbk = temp.encode('gbk')
print(temp_gbk)

转载于:https://www.cnblogs.com/zhaojingwen/p/6572497.html

Python学习——编码转换相关推荐

  1. python unicode编码转换中文_python unicode转中文及转换默认编码

    一. 在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77ed\uff0cpy\u662f\u5cb8"转换为中文,实际上这是unicode的中文编码.可 ...

  2. python文本编码转换_Python: 转换文本编码

    最近在做周报的时候,需要把csv文本中的数据提取出来制作表格后生产图表. 在获取csv文本内容的时候,基本上都是用with open(filename, encoding ='UTF-8') as f ...

  3. python utf-8编码转换中文_python实现unicode转中文及转换默认编码的方法

    本文实例讲述了python实现unicode转中文及转换默认编码的方法.分享给大家供大家参考,具体如下: 一.在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77e ...

  4. python文件编码转换工具_python实现unicode转中文及转换默认编码的方法

    本文实例讲述了python实现unicode转中文及转换默认编码的方法.分享给大家供大家参考,具体如下: 一.在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77e ...

  5. python文本编码转换_python实现文件批量编码转换及注意事项

    起因:大三做日本交换生期间在修一门C语言图像处理的编程课,在配套书籍的网站上下载了sample,但是由于我用的ubuntu18.04系统默认用utf-8编码,而文件源码是Shift_JIS编码,因而文 ...

  6. Python字符编码转换Unicode和str

    参考链接1:https://blog.csdn.net/VictoriaW/article/details/75314737 参考链接2:https://blog.csdn.net/sheldonwo ...

  7. python网址编码转换_python字符串与url编码的转换实例

    python字符串与url编码的转换实例 更新时间:2018年05月10日 10:27:46 作者:Tangzongyu123 今天小编就为大家分享一篇python字符串与url编码的转换实例,具有很 ...

  8. Python字符编码转换

    编码回顾 在备编码相关的课件时,在知乎上看到一段关于Python编码的回答 这哥们的这段话说的太对了,搞Python不把编码彻底搞明白,总有一天它会猝不及防坑你一把. 不过感觉这哥们的答案并没把编码问 ...

  9. python unicode编码转换中文_python实现unicode转中文及转换默认编码的方法

    本文实例讲述了python实现unicode转中文及转换默认编码的方法.分享给大家供大家参考,具体如下: 一.在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77e ...

最新文章

  1. 通过ajax调用WebService服务
  2. java设计模式迭代器模式_Java中的迭代器设计模式–示例教程
  3. Python学习笔记之类(二)
  4. (78)Verilog HDL条件编译:`ifdef
  5. LeetCode-29:不使用乘法、除法和 mod 运算符如何求解两数之商,真实面试中遇到过
  6. 多线程访问数据库ADO
  7. 怎么压缩jpg图片到100k?jpg图片怎么压缩?
  8. java 调用打印机打印PDF文件
  9. 单片机一键开关机硬件电路
  10. matlab冲激函数delta,信号与系统matlab实验指导书解决方案.doc
  11. 从四大造字法看文字所承载的文化_举例说明汉语汉字所承载的文化信息?
  12. 扁平和树形结构的几种互转
  13. USB转串口驱动分析(一)
  14. java爬虫写一个百度图片下载器
  15. 【JKD源码】String 三兄弟
  16. 美拍、秒拍短视频SDK功能实现
  17. 什么是第三方登录,第三方登录如何选择
  18. 《谈美》读书思维导图
  19. Mac安装win10双系统蓝牙连接不上故障问题
  20. DS18B20的原理与应用

热门文章

  1. 字符串长度的求解 (3种方法)
  2. R语言学习笔记:矩阵与数组(array)
  3. [研究笔记]Lambda表达式学习笔记
  4. html页脚显示不出来,CSS实例:让页脚保持在未满屏页面的底部
  5. 蓝桥杯 ALGO-37 算法训练 Hankson的趣味题
  6. python数组写入txt
  7. Python判断是否json是否包含一个key
  8. Jboss jar包冲突及jar加载顺序
  9. http web 返回码概念
  10. 从JDK源码看关闭钩子