码迷,mamicode.com
首页 > 编程语言 > 详细

Python编码

时间:2018-06-03 12:25:08      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:python编码   中文   字节流   磁盘   内容   单个字符   保存到文件   指定   pre   

1、字符编码
  a、计算机只能处理数字,如果要处理文本就必须先把文本转换为数字
  b、ASCII:大写字母A的编码是65,小写字母z的编码是122
  c、ASCII编码是一个字节,而Unicode编码通常是2个字节。
  d、在计算机内存中,统一使用Unicode编码,用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件。
  e、对于单个字符的编码,python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:

           ord(A) :65
            ord():20013
            chr(66):B
            chr(25991):

  f、由于python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节,如果要在网络上传输,或者保存到磁盘上,就需要把str变成以字节为单位的bytes.
  g、python对bytes类型的数据用带b前缀的单引号或双引号表示: 

       x = abc

     要注意区分‘ABC‘和b‘ABC‘,前者是str,后者虽然内容显示得和前者一样但bytes的每个字符都只占用一个字节。
  h、以Unicode表示的str通过encode()方法可以编码为指定的bytes.

       ABC.encode(ascii) :bABC
       中文.encode(utf-8):b\xe4\xb8\xad\xe6\x96\x87

  i、如果我们从网络或磁盘上读取了字节流那么读到的数据就是bytes,要把bytes变为str,就用decode()方法

        bABC.decode(ascii):ABC
        b\xe4\xb8\xad\xe6\x96\x87.decode(utf-8):中文

  j、要计算str包含多少个字符可以用len()函数:

       len(ABC):3
       len(中文):2

  k、len()函数计算的是str的字符数,如果换成bytes,len()函数就计算的是字节数:

       len( bABC):3
       len(b\xe4\xb8\xad\xe6\x96\x87):6
       len(中文.encode(utf-8)):6

 

Python编码

标签:python编码   中文   字节流   磁盘   内容   单个字符   保存到文件   指定   pre   

原文地址:https://www.cnblogs.com/Presley-lpc/p/9128212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!