python字符编码与转码

简介:

python 2.x 字符编码与转码


打印系统默认编码格式

1
2
import  sys
print (sys.getdefaultencoding())


UTF-8 转 gbk

方式:utf-8--转成--unicode--转成--gbk

1
2
3
4
5
6
=  "你好"
print  a
utf8_to_unicode  =  a.decode( "utf-8" )                  #utf-8转unicode
print  utf8_to_unicode
unicode_to_gbk  =  utf8_to_unicode.encode( "gbk" )       #unicode转utf-8
print  unicode_to_gbk

gbk 转UTF-8

方式:gbk--转成--unicode--转成--utf-8

1
2
3
4
gbk_to_unicode  =  unicode_to_gbk.decode( "gbk" )        #gbk转unicode
print  gbk_to_unicode
unicode_to_utf8  =  gbk_to_unicode.encode( "utf-8" )     #unicode转uft-8
print  unicode_to_utf8



总结:

    1.python2.X 默认编码是ascii ;支持中文需要加“ #-*- coding:utf-8 ”;

    2.gbk、utf-8之间的转码必须先转码成unicode ;



python 3.x 字符编码与转码


字符编码与转码

UTF-8 可变长编码格式

python3.x 在转码的时候,同时把字符变成一个bytes类型;例如:b'\xc4\xe3\xba\xc3' ;

python3.X 默认的编码是unicode 支持中文;


打印系统默认编码格式

1
2
import  sys
print (sys.getdefaultencoding())


utf-8 转 gbk

由于python3.0 默认unicode 支持中文,所以输入中文,可以直接转gbk ;

1
2
3
4
=  "你好"
print (a)
unicode_to_gbk  =  a.encode( "gbk" )     #unicode 转 gbk
print (unicode_to_gbk)


utf-8 转 gbk      

这里编码转化顺序:unicode--转成--utf-8--转成--unicode--转成--gbk;和上边一样的结果。

1
2
3
4
5
6
7
8
9
10
=  "你好"
print (a)
moren_to_utf8  =  a.encode( "utf-8" )                   
#等于moren_to_utf8 = a.encode()   因为系统编码是utf-8
print ( type (moren_to_utf8.decode( "utf-8" )))          
#utf-8 格式 decode成unicode 就成了一个字符串;
utf8_to_unicdoe  =  moren_to_utf8.decode( "utf-8" )
print (utf8_to_unicdoe)
unicode_to_gbk  =  utf8_to_unicdoe.encode( "gbk" )
print (unicode_to_gbk)



gbk 转 utf-8

1
2
3
4
gbk_to_unicode  =  unicode_to_gbk.decode( "gbk" )        #gbk 转 unicode
print (gbk_to_unicode)
unicode_to_utf8  =  gbk_to_unicode.encode( "utf-8" )     #unicode 转 utf-8
print (unicode_to_utf8)



总结:

    1.python3.x 默认编码是unicode,支持中文;

    2.python3.x 在转码的时候,同时把字符变成一个bytes类型;例如:b'\xc4\xe3\xba\xc3' ;

    3.python3.x 转码成了bytes类型之后,想显示成中文decode成unicode 就成了一个字符串;




本文转自 506554897 51CTO博客,原文链接:http://blog.51cto.com/506554897/1945838

相关文章
|
15天前
|
存储 人工智能 数据处理
Python:编程的艺术与科学的完美交融
Python:编程的艺术与科学的完美交融
19 1
|
2天前
|
JSON 数据格式 开发者
pip和requests在Python编程中各自扮演着不同的角色
`pip`是Python的包管理器,用于安装、升级和管理PyPI上的包;`requests`是一个HTTP库,简化了HTTP通信,支持各种HTTP请求类型及数据交互。两者在Python环境中分别负责包管理和网络请求。
13 5
|
4天前
|
存储 Python 容器
Python高级编程
Python集合包括可变的set和不可变的frozenset,用于存储无序、不重复的哈希元素。创建集合可使用{}或set(),如`my_set = {1, 2, 3, 4, 5}`。通过add()添加元素,remove()或discard()删除元素,如`my_set.remove(3)`。
|
5天前
|
测试技术 Python
Python模块化方式编程实践
Python模块化编程提升代码质量,包括:定义专注单一任务的模块;使用`import`导入模块;封装函数和类,明确命名便于重用;避免全局变量降低耦合;使用文档字符串增强可读性;为每个模块写单元测试确保正确性;重用模块作为库;定期维护更新以适应Python新版本。遵循这些实践,可提高代码可读性、重用性和可维护性。
24 2
|
10天前
|
测试技术 调度 索引
python编程中常见的问题
【4月更文挑战第23天】
31 2
|
11天前
|
网络协议 算法 网络架构
Python网络编程之udp编程、黏包以及解决方案、tcpserver
Python网络编程之udp编程、黏包以及解决方案、tcpserver
|
11天前
|
机器学习/深度学习 数据挖掘 算法框架/工具
Python:编程的艺术与魅力
Python:编程的艺术与魅力
24 3
|
11天前
|
机器学习/深度学习 数据可视化 数据挖掘
实用技巧:提高 Python 编程效率的五个方法
本文介绍了五个提高 Python 编程效率的实用技巧,包括使用虚拟环境管理依赖、掌握列表推导式、使用生成器提升性能、利用装饰器简化代码结构以及使用 Jupyter Notebook 进行交互式开发。通过掌握这些技巧,可以让你的 Python 编程更加高效。