zoukankan      html  css  js  c++  java
  • python3(三)enc

    # ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节。
    # Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
    # 新的问题又出现了:如果统一成Unicode编码,乱码问题从此消失了。但是,如果你写的文本基本上全部是英文的话,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上就十分不划算。
    # 所以,本着节约的精神,又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间
    # 所以你看到很多网页的源码上会有类似<meta charset="UTF-8" />的信息,表示该网页正是用的UTF-8编码
    print(ord('A'))
    # 65
    print(ord(''))
    # 20013
    print(chr(66))
    # 'B'
    print(chr(25991))
    # '文'
    # 十六进制
    print('u4e2du6587')
    # 中文
    # Python的字符串类型是str,在内存中以Unicode表示
    # 要注意区分'ABC'和b'ABC',前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。
    print(len('ABC'))
    # 3
    print(len('中文'))
    # 2
    # 要计算str包含多少个字符,可以用len()函数
    
    print(len(b'ABC'))
    # 3
    print(len(b'xe4xb8xadxe6x96x87'))
    # 6
    print(len('中文'.encode('utf-8')))
    # 6
    # 可见,1个中文字符经过UTF-8编码后通常会占用3个字节,而1个英文字符只占用1个字节。
    # -----------------------------------------------------------
    # 在操作字符串时,我们经常遇到str和bytes的互相转换。为了避免乱码问题,应当始终坚持使用UTF-8编码对str和bytes进行转换。
    # python源码文件也是一种文本文件,为了防止乱码,必须指定保存文件的编码为utf-8
    # 通常在文件头写:
    # !/usr/bin/env python3  #告诉Linux/OS X系统,这是一个Python可执行程序
    # -*- coding: utf-8 -*-  #告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
    # 注意编辑器的编码也要设置为对应的编码
    # 占位符
    c = 'Hi, %s, you have $%d.' % ('Michael', 1000000)
    print(c)  # Hi, Michael, you have $1000000.
    # 占位符    替换内容
    # %d    整数
    # %f    浮点数
    # %s    字符串
    # %x    十六进制整数
    # format
    d = 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
    print(d)
  • 相关阅读:
    微信redirect_uri 回调错误,scope权限错误
    对“空间数据库”的理解
    空间数据库2
    PostgreSQL和MySQL
    shp文件和地理数据库文件的区别
    分布式 空间数据库
    Git使用教程
    栅格投影
    mapnik渲染原理
    高斯消元——浮点数模板
  • 原文地址:https://www.cnblogs.com/shaozhiqi/p/11543454.html
Copyright © 2011-2022 走看看