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

相关文章
|
1天前
|
算法 数据挖掘 API
贝叶斯统计在Python数据分析中的高级技术点:贝叶斯推断、概率编程和马尔科夫链蒙特卡洛
贝叶斯统计在Python数据分析中的高级技术点:贝叶斯推断、概率编程和马尔科夫链蒙特卡洛
15 1
贝叶斯统计在Python数据分析中的高级技术点:贝叶斯推断、概率编程和马尔科夫链蒙特卡洛
|
1天前
|
存储 Python
跟我从0学Python——掌握编程的基石
Python基础语法 —— 掌握编程的基石
|
1天前
|
IDE 开发工具 开发者
跟我从0学Python —— 走进编程的世界
Python,这门由Guido van Rossum于上世纪90年代初创造的编程语言,如今已经成为全球最受欢迎的编程语言之一。其简洁、易读、强大的语法,使得它成为了许多初学者以及专业开发者的首选。
|
1天前
|
Python
python绘图编程基本绘图指令讲解
python绘图编程基本绘图指令讲解
|
12天前
|
人工智能 安全 程序员
使用 ChatGPT 帮助小学生编程入门系列之二:使用 Python 编程发送电子邮件
使用 ChatGPT 帮助小学生编程入门系列之二:使用 Python 编程发送电子邮件
32 0
|
12天前
|
Web App开发 存储 搜索推荐
使用 ChatGPT 帮助小学生编程入门系列之一:Python 编程读取和解析天气预报网页上的数据
使用 ChatGPT 帮助小学生编程入门系列之一:Python 编程读取和解析天气预报网页上的数据
26 0
|
18天前
|
API Python
Python中的GUI编程:Tkinter和PyQt入门指南
图形用户界面(GUI)是用户与计算机交互的一种方式,Python提供了多个库用于实现GUI应用程序。其中,Tkinter和PyQt是两个常用的GUI库。本文将介绍如何使用Tkinter和PyQt进行Python中的GUI编程。
|
1月前
|
Java C++ 索引
给Python初学者的一些编程建议-2
给Python初学者的一些编程建议-2
18 0
相关产品
机器翻译
推荐文章
更多