zoukankan      html  css  js  c++  java
  • python编码

        encode                decode

    str --------> unicode  --------> utf8

        <--------- unicode <--------

        decode                encode

    # on windows python3

    a = "u4e2du56fdu8ba1u7b97u673a"  # str

    a.encode().decode("utf8")   # 先编码成unicode, 再使用utf8解码

    a = u"u6570u636eu4e2du5fc3-u6316u6398u7ec4"  # unicode

    print(a.encode("utf8")) 

    >>>挖掘组

    # on linux python2

    >>> a = "中国计算机"
    >>> a
    'xe4xb8xadxe5x9bxbdxe8xaexa1xe7xaex97xe6x9cxba'   # 不能用ascii表示的用x##表示
    >>> print a
    中国计算机
    >>> type(a)
    <type 'str'>
    >>> a = u"中国计算机"
    >>> a
    u'u4e2du56fdu8ba1u7b97u673a'
    >>> print(a)
    中国计算机

    >>>a.encode("utf8")

    'xe4xb8xadxe5x9bxbdxe8xaexa1xe7xaex97xe6x9cxba'

            Unicode是一种字符集,它为每一种现代或古代使用的文字系统中出现的每一个字符都提供了统一的序列号,规定了符号的二进制代码,但没有规定这个二进制代码应该如何存储。也就是说:Unicode的编码方式是固定的,但是实现方式根据不同的需要有跟多种,常见的有UTF-8、UTF-16和UTF-32等。

            decode early, unicode everywhere, encode late,即:在输入或者声明字符串的时候,尽早地使用decode方法将字符串转化成unicode编码格式;然后在程序内使用字符串的时候统一使用unicode格式进行处理,比如字符串拼接、字符串替换、获取字符串的长度等操作;最后,在输出字符串的时候(控制台/网页/文件),通过encode方法将字符串转化为你所想要的编码格式,比如utf-8等

    https://www.liaoxuefeng.com/wiki/1016959663602400/1017075323632896

  • 相关阅读:
    【题解】小Z的袜子
    浅谈最小生成树
    【题解】钻石收藏家
    浅谈线段树
    浅谈拓扑排序
    浅谈树的直径和树的重心
    浅谈求逆序对
    浅谈欧拉回路
    浅谈离散化
    浅谈高斯消元
  • 原文地址:https://www.cnblogs.com/buxizhizhoum/p/11060603.html
Copyright © 2011-2022 走看看