zoukankan      html  css  js  c++  java
  • Python学习笔记(四)——编码和字符串

    一、编码

    1、编码类别:

    (1)ASCII码:127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号

    (2)GB2312码:中国制定的用于加入中文汉字的编码

    (3)Unicode:防止由于各种编码出现冲突而导致的乱码问题。最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)

    (4)“可变长编码”UTF-8:Unicode乱码问题解决,然而是以存储为代价的。使用可变长编码可以一定程度上解决存储问题,

    image

    2、计算机系统通用的字符编码工作方式

    (1)在计算机内存中,统一使用Unicode编码

    (2)当需要保存到硬盘或者需要传输的时候,转换为UTF-8编码。

    (3)用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:

    (4)浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器

    imageimage

    二、字符串

    1、Python的字符串

         在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言

    2、ord(),chr()

    image

    ord():获取字符的整数表示

    chr():把编码转换为对应的字符

    3、str字节数

    (1)由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。

    (2)如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytesPython对bytes类型的数据用带b前缀的单引号或双引号表示:

    x = b'CXW'

    (3)以Unicode表示的str通过encode()方法可以编码为指定的bytes

    image

    (4)从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法

    image

    (5)要计算str包含多少个字符,可以用len()函数

    image

    (6)由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-

          必须并且要确保文本编辑器正在使用UTF-8 without BOM编码

    image

    4、格式化

    (1)格式化方法’% ‘

    image

    >>> 'Hello, %s' % 'world'
    print("hello %s %s " % (x,x))

    (2)如果你不太确定应该用什么%s永远起作用,它会把任何数据类型转换为字符串

    (3)%%显示为%

  • 相关阅读:
    2011Android技术面试整理附有详细答案(包括百度、新浪、中科软等多家公司笔试面试题)
    SQL注入攻击与防御
    从零开始学习jQuery
    linux内核定时器
    国内外 Java Script 经典封装
    jQuery EasyUI API 中文文档
    新手该怎么学习DIV+CSS网页标准布局?
    3种方法修改PHP时区
    linq教程
    BizTalk Server 系列文章目录
  • 原文地址:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/6149176.html
Copyright © 2011-2022 走看看