zoukankan      html  css  js  c++  java
  • python编码(三)

    python 有str object 和 unicode object 两种字符串,都可以存放字符的字节编码,但是他们是不同的type,这一点很重要,也是为什么会有encode(编码)和decode(解码)。

    encode 和 decode在pyhton 中的意义可表示为:

                                        encode
             unicode -------------------------> str
             unicode <--------------------------str
                                        decode

    几种常用法:

    str_string.decode('codec') 是把str_string转换为unicode_string, codec是源str_string的编码方式;
    unicode_string.encode('codec') 是把unicode_string 转换为str_string,codec是目标str_string的编码方式;
    str_string.decode('from_codec').encode('to_codec') 可实现不同编码的str_string之间的转换;

    比如:

    1 >>> t='长城'
    2 >>> t
    3 'xb3xa4xb3xc7'
    4 >>> t.decode('gb2312').encode('utf-8')
    5 'xe9x95xbfxe5x9fx8e'

    str_string.encode('codec') 是先调用系统的缺省codec去把str_string转换为unicode_string,然后用encode的参数codec去转换为最终的str_string. 相当于str_string.decode('sys_codec').encode('codec')。

    unicode_string.decode('codec') 基本没有意义,unicode 在python里只用一种unicode编码,UTF16或者UTF32(编译python时就已经确定),没有编码转换的需要。 

    注:缺省codec在site-packages下的sitecustomize.py文件中指定,比如:

    1 import sys
    2 sys.setdefaultencoding('utf-8')

     

  • 相关阅读:
    [数据结构]直接插入排序
    隐藏小程序scroll-view组件的滚动条
    当 uni-app 遇见 vscode
    npm(你怕吗) 全局安装与本地安装、开发依赖和生产依赖
    Vue-resource的使用
    spy-debugger调试、抓包工具
    一个小时学会Git
    flex布局踩过的坑
    Html5移动端布局及(rem布局)页面自适应布局详解
    使用vscode自动编译less
  • 原文地址:https://www.cnblogs.com/qiernonstop/p/3634671.html
Copyright © 2011-2022 走看看