• 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)%%显示为%

  • 相关阅读:
    fullCalendar改造计划之带农历节气节假日的万年历(转)
    Linked List Cycle
    Remove Nth Node From End of List
    Binary Tree Inorder Traversal
    Unique Binary Search Trees
    Binary Tree Level Order Traversal
    Binary Tree Level Order Traversal II
    Plus One
    Remove Duplicates from Sorted List
    Merge Two Sorted Lists
  • 原文地址:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/6149176.html
Copyright © 2020-2023  润新知