zoukankan      html  css  js  c++  java
  • python中的编码和解码

    计算机中常见的编码方式有多种,英文一般是ascii编码,其他有unicode,utf-8,gbk,utf-16等编码。

    常见编码方式:

    • ASCII编码:ASCII是早期的编码,包含英文字母、数字和一些英文符号一共127个符号;
    • Unicode编码:不同的语言有各自不同的编码方式,导致在多种语言环境下按照某一种固定的编解码方式会出现乱码。为了统一,制定了Unicode编码。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了,一般使用两个字节表示一个字符。现代的操作系统和大多数编程语言都支持Unicode;
    • UTF-8编码:UTF-8是Unicode编码的一种存储和传输的方式。由于英文字符只需要占用一个字节的空间就够了,但如果统一采用Unicode的两个字节来表示,会浪费存储空间,增加传输消耗,UTF-8把Unicode编码转化成“可变长编码”,可以根据不同的符号变化字节的长度;
    • GB2312编码:适用于汉字处理、汉字通信等系统之间的信息交换;
    • GBK编码:是汉字编码标准之一,是在 GB2312-80 标准基础上的内码扩展规范,使用了双字节编码;
    • 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码,当文件被打开的时候,UTF-8字符被转换成Unicode字符到内存中,文件关闭的时候,再从Unicode转化成UTF-8保持到磁盘上,以节省(传输)空间。

    python中的编码转化
    python内部的字符串一般是Unicode编码,Unicode是utf-8、gbk等编码的父编码,这些子编码方式之间不能直接转化,需要先转化成Unicode,再转化成其他编码方式,Unicode作为转换的中间码。python中的解码(decode)是从子编码转换成Unicode编码,编码(encode)是从Unicode转其他子编码


    查询字符串是否是Unicode编码

    isinstance(str,unicode)


    查询系统默认编码

    import sys
    
    print sys.getdefaultencoding()


    编码转换

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import sys
    
    print sys.getdefaultencoding()
    str = '中国'
    str = str.decode('utf8')
    print isinstance(str,unicode)
    str = str.encode('gbk')
    print isinstance(str,unicode)


  • 相关阅读:
    oracle_dblink配置
    Data Pump(数据抽取)介绍
    亲测 logminer挖掘
    基础命令
    锁_rac环境kill锁表会话后出现killed状态(解决)
    ASM磁盘组空间不足--ORA-15041:DISGROUP DATA space exhausted (生产库案例)
    where子句的具体含义
    Oracle常用脚本——通过RMAN配置RAC环境的分布式磁带机
    如何创建动态的多维数组且内存空间连续
    Hibernate级联删除
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9411800.html
Copyright © 2011-2022 走看看