python2与python3 字符问题以及 字符编码 内容总结

python2与python3默认编码:

   python2:gbk                   print( u‘上‘ )     操作系统也是 gbk

     python3:unicode     print( ‘上’ )

字符编码转换关系:

  unicode --》encode (编码)--》gbk  其他形式的二进制               write

  gbk  其他形式的二进制 --》decode (解码)--》unicode               read

各种编码格式与字节对应关系:

  bytes ; 字节

  ASCIL: 英文1个bytes,中文没有对应关系    ( 65-90:A-Z      97-122)

  gbk ;  中文2个bytes,英文1个bytes

  unicode ;  中英文2个bytes

  utf-8: 中文3个bytes,英文一个bytes

  

文件头

  coding : utf-8

  x = ‘上‘     文件头指定的 utf-8 就是 utf-8 的二进制

  

  

原文地址:https://www.cnblogs.com/liu--huan/p/9497569.html

时间: 2024-08-02 22:31:29

python2与python3 字符问题以及 字符编码 内容总结的相关文章

python2 与python3中最大的区别(编码问题bytes&str

1,在python2.x 中是不区分bytes和str类型的,在python3中bytes和str中是区分开的,str的所有操作bytes都支持 python2 中 >>> s = "abcdefg" >>> b = s.encode()    #或者使用下面的方式 >>> b = b"abcdefg">>> type(b)<type 'str'> python3中     #str

4.python2与python3编码区别,以及字符串与字节的相互转换及其socket编程应用场景

知识点剖析 1.python2与python3的某些区别 其实一直想写这篇博客,实则在socket编程中,字符串,字节(byte),和bit流把我弄得晕头转向.确实这也是python3与python2的区别所在.我想在12期的时候,刚从python2转到python3的沛齐与Alex老师也是十分头疼,最近几天查看了相关资料与视频,才恍然大悟. 首先我们看一下下面的实例: 原因:在python2.7中,for循环遇到汉字,依然会按照字节进行循环,那么3个字节才能组成的汉字,单个输出只能时乱码. 解

python2和python3编码

python2编码 unicode:unicode 你好 u'\u4f60\u597d' | | | | encode('utf8')| |decode('utf8') encode('gbk')| |decode('gbk') | |   | | utf8    gbk编码后的str '\xe4\xbd\xa0\xe5\xa5\xbd'     编码后的gbk u'\u6d63\u72b2\u30bd' # str: bytes >>> s = '你好 world' >>&

day07 python2与python3 编码

详细文章: http://www.cnblogs.com/yuanchenqi/articles/5956943.html http://www.diveintopython3.net/strings.html 需知: 1.在python2默认编码是ASCII, python3里默认是unicode 2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-

Python2 与 Python3 的编码对比

在 Python 中,不论是 Python2 还是 Python3 中,总体上说,字符都只有两大类: 通用的 Unicode 字符: (unicode 被编码后的)某种编码类型的字符,比如 UTF-8,GBK 等类型的字符. Python2 中字符的类型: str: 已经编码后的字节序列unicode: 编码前的文本字符 Python3 中字符的类型: str: 编码过的 unicode 文本字符bytes: 编码前的字节序列 我们可以认为字符串有两种状态,即文本状态和字节(二进制)状态.Pyt

Python2 和 Python3 中默认编码的差异

最近在使用 Python3.4 做一些脚本实现,发现对于编码的处理上和 Python2.6 有很大的不同,就此机会把相关知识做个梳理,方便需要的时候查阅. 先说下概念和差异: 脚本字符编码:就是解释器解释脚本文件时使用的编码格式,可以通过 # -\*- coding: utf-8 -\*- 显式指定解释器字符编码:解释器内部逻辑过程中对 str 类型进行处理时使用的编码格式Python2 中默认把脚步文件使用 ASCII 来处理(历史原因请 Google)Python2 中字符串除了 str 还

python2和python3中的编码问题

开始拾起python,准备使用python3, 造轮子的过程中遇到了编码的问题,又看了一下python3和python2相比变化的部分. 首先说个概念: unicode:在本文中表示用4byte表示的unicode编码,也是python内部使用的字符串编码方式. utf-8:在本文中指最少1byte表示的unicode编码方式 我在使用 if isinstance(key,unicode): key= key.encode('utf-8') 的时候,发现key值被转成了b'foo',b'bar'

【转载】字符,字节和编码

转自:http://www.regexlab.com/zh/encoding.htm 引言 "字符与编码"是一个被经常讨论的话题.即使这样,时常出现的乱码仍然困扰着大家.虽然我们有很多的办法可以用来消除乱码,但我们并不一定理解这些办法的内在原理.而有的乱码产生的原因,实际上由于底层代码本身有问题所导致的.因此,不仅是初学者会对字符编码感到模糊,有的底层开发人员同样对字符编码缺乏准确的理解.     1. 编码问题的由来,相关概念的理解 1.1 字符与编码的发展 从计算机对多国语言的支持

字符,字节和编码

摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解.举例说明了一些实际应用中,编码的实现方法.然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法.本文的内容涵盖了“中文问题”,“乱码问题”. 掌握编码问题的关键是正确地理解相关概念,编码所涉及的技术其实是很简单的.因此,阅读本文时需要慢读多想,多思考. 引言 “字符与编码”是一个被经常讨论的话题.即使这样,时常出现的乱码仍然困扰着大家.虽然我们有很多的办法可以用来消除乱码,但我们并不一定理解这些