zoukankan      html  css  js  c++  java
  • python unicode,utf8转换

    Python2(包括Python26、Python27等)的字符串通常包含str、unicode两种类型,通常str的字符串编码方式由源码文件的编码方式决定,
    目前使用的基本都是UTF-8的编码格式,所以要在py文件的头部指定编码格式:
    
    1
    # -*- coding: utf-8 -*-
    在Python程序内部,通常使用的字符串为unicode编码,这样的字符串字符是一种内存编码格式,如果将这些数据存储到文件或是记录日志的时候,
    就需要将unicode编码的字符串转换为特定字符集的存储编码格式,比如:UTF-8、GBK等等,
    很多时候Python程序员都会遇到乱码问题,相信以下的一些处理方式和技巧能帮助大家解决乱码问题。
    
    # !/usr/bin/env python
    # -*- coding: utf-8 -*-
    name='测试'
    print name
    print type(name)
    print len(name)
    
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/Django/a17.py
    测试
    <type 'str'>
    6
    
    # !/usr/bin/env python
    # -*- coding: utf-8 -*-
    name=u'测试'
    print name
    print type(name)
    print len(name)
    
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/Django/a17.py
    测试
    <type 'unicode'>
    2
    
    
    unicode 转utf8
    
    # !/usr/bin/env python
    # -*- coding: utf-8 -*-
    name=u'测试'
    print name
    print type(name)
    print len(name)
    name=name.encode('utf-8')
    print name
    print type(name)
    print len(name)
    
    
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/Django/a17.py
    测试
    <type 'unicode'>
    2
    测试
    <type 'str'>
    6
    
    
    # !/usr/bin/env python
    # -*- coding: utf-8 -*-
    name='测试'
    print name
    print type(name)
    print len(name)
    name=name.decode('utf-8')
    print name
    print type(name)
    print len(name)
    
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/Django/a17.py
    测试
    <type 'str'>
    6
    测试
    <type 'unicode'>
    2
    
    
    
    字符串转换成unicode
    


    
                                        
    
  • 相关阅读:
    gdb调试libtool封装的可执行文件
    转载 Linux top命令详解
    VirtualBox使用物理硬盘建立磁盘
    【sqlServer】常用语句整理
    【c#基础】特殊集合
    【c# 基础】各种集合的不同情况下的性能
    【c#集合】Lookup 类 有序字典 SortedDictionary<TKey,TValue> 集
    【c#基础】集合--栈Stack 链表 LinkList 有序列表SortedList 字典Dictionary
    【c#基础】集合
    【c#基础】委托、Lambda表达式和事件
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349502.html
Copyright © 2011-2022 走看看