Python字符串的encode与decode】的更多相关文章

转~Python字符串的encode与decode研究心得——解决乱码问题 为什么Python使用过程中会出现各式各样的乱码问题,明明是中文字符却显示成“/xe4/xb8/xad/xe6/x96/x87”的形式?为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题. 字符串在Python内部的表示是unico…
python的str,unicode对象的encode和decode方法 python中的str对象其实就是"8-bit string" ,字节字符串,本质上类似java中的byte[]. 而python中的unicode对象应该才是等同于java中的String对象,或本质上是java的char[]. 对于 s="你好" u=u"你好" 1. s.decode方法和u.encode方法是最常用的, 简单说来就是,python内部表示字符串用un…
为什么Python使用过程中会出现各式各样的乱码问题,明明是中文字符却显示成“\xe4\xb8\xad\xe6\x96\x87”的形式? 为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题. 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先…
首先要搞清楚,字符串在Python内部的表示是unicode编码. 因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码. decode的作用是将其他编码的字符串转换成unicode编码, 如str1.decode('gb2312'),表示将gb2312编码的字符串转换成unicode编码. encode的作用是将unicode编码转换成其他编码的字符串, 如str2.encod…
以下摘自:http://www.jb51.net/article/17560.htm 为什么Python使用过程中会出现各式各样的乱码问题,明明是中文字符却显示成“\xe4\xb8\xad\xe6\x96\x87”的形式? 为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题. 字符串在Python内部的表示…
原文 decode的作用是将其他编码的字符串转换成unicode编码. str1.decode('gb2312') #表示将gb2312编码的字符串转换成unicode编码 encode的作用是将unicode编码转换成其他编码的字符串. str2.encode('gb2312') #表示将unicode编码的字符串转换成gb2312编码 PS:字符串在Python内部的表示是unicode编码. 因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decod…
字符串编码常用类型:utf-8,gb2312,cp936,gbk等. python中,我们使用decode()和encode()来进行解码和编码 在python中,使用unicode类型作为编码的基础类型.即 decode              encode str ---------> unicode --------->str u = u'中文' #显示指定unicode类型对象u str = u.encode('gb2312') #以gb2312编码对unicode对像进行编码str…
在 python 源代码文件中,如果你有用到非ASCII字符,则需要在文件头部进行字符编码的声明,声明如下: # code: UTF-8 因为python 只检查 #.coding 和编码字符串,所以你可能回见到下面的声明方式,这是有些人为了美观等原因才这样写的: #-*- coding: UTF-8 -*- 常见编码介绍: GB2312编码:适用于汉字处理.汉字通信等系统之间的信息交换 GBK编码:是汉字编码标准之一,是在 GB2312-80 标准基础上的内码扩展规范,使用了双字节编码 ASC…
(注:本文部分内容摘自互联网,由于作者水平有限,不足之处,还望留言指正.) 记得几天前,部门的一个小姑娘问我,怎么她Python打印出来的中文信息都乱码了?我走过去,略思一二,瞬间给她搞定,其实这是字符编码转换的问题.这时,我注意到小姑娘流露出一丝丝崇拜的眼神.所以我想,如果你连编码问题都搞不定,还怎么泡妞啊.可能一部分人也会进入这种误区,我以我小学生的水平,把我的理解结合网上的资料写下来. 注意:Python3默认编码是unicode:而Python2是ASCII码.Windows环境默认是g…
!/usr/bin/env python coding=utf-8 s="中文" if isinstance(s, unicode): s=u"中文" print s.encode('gb2312') else: s="中文" print s.decode('utf-8').encode('gb2312')…
转自 http://www.cnblogs.com/evening/archive/2012/04/19/2457440.html 总结一句话 encode:    字符串打算输出(给别人用)比如print时候encode成gbk不会乱码 decode: 字符串打算(用别人的做)输入,比如打开文本文件比如抓网页时候根据对方格式decode…
原文地址:http://www.cnblogs.com/tingyugetc/p/5727383.html 1.Python3中对文本和二进制数据进行了比较清晰的区分,文本总是 unicode ,由 str 类型进行表示:二进制数据则由 bytes 类型进行表示.不会将 str 和 bytes 偷偷混合在一起,在python3中会明显发现不能将两者拼接在一起,也不能在bytes中查找字符,然而在实际操作中却需要将两者进行转换操作以便完成相应的需求,两者之间的转换关系如下表示: str -> by…
Python字符串的encode与decode研究心得乱码问题解决方法 为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题. 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从uni…
转自:http://blog.csdn.net/a921800467b/article/details/8579510 为什么会报错“UnicodeEncodeError:'ascii' codec can't encode characters in position 0-1: ordinal notin range(128)”?本文就来研究一下这个问题.字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(…
对于encode和decode,笔者也是根据自己的理解,有不对的地方还请多多指点. 编码的理解: 1.编码:utf-8,utf-16,gbk,gb2312,gb18030等,编码为了便于理解,可以把它当做一个算法,用于加密和解密.基类编码字符集:unicode等,基类编码字符集可以理解为明文.其他编码字符集: ANSCII,汉字等,其他类编码字符集可以理解为密文.三者的关系是明文用算法加密成密文,密文用算法解密成明文. 2.Python 默认脚本文件都是 ANSCII 的,当代码中有非 ANSC…
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码. decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码. encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2…
edu.codepub.com/2009/1029/17037.php 这个问题在python3.0里已经解决了. 这有篇很好的文章,可以明白这个问题: 为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题.字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为…
python默认编码 python 2.x默认的字符编码是ASCII,默认的文件编码也是ASCII. python 3.x默认的字符编码是unicode,默认的文件编码是utf-8. 中文乱码问题 无论以什么编码在内存里显示字符,存到硬盘上都是二进制,所以编码不对,程序就会出错. 常见编码有ascii编码(美国),GBK编码(中国),shift_JIS编码(日本),unicode(统一编码)等. 需要注意的是,存到硬盘上时是以何种编码存的,再从硬盘上读出来时,就必须以何种编码读,要不然就会出现乱…
以u或U开头的字符串表示unicode字符串 如果你想要用非英语写文本,那么你需要有一个支持Unicode的编辑器.(了解一下unicode和ascll码还有utf-8) u'你好'        #这里是把‘你好’用Unicode编码 r'\nabdcd\rds'    #这里加上r表示 把\nabdcd\rds看做原始字符,忽略一切转意字符       unicodestring = u"Hello world"# 将Unicode转化为普通Python字符串:"enco…
一.摆个图 DJ  DJ  DJ   Decode. J 解码 首先得知道字符串有哪些编码格式,至于为什么会有这么多的编码格式,以后再了解更新. 1.ASCII 占1个字节,只支持英文 2.GB2312 占2个字节,支持6700+汉字 3.GBK GB2312的升级版,支持21000+汉字,中文2个字节. 4.Unicode 2-4字节 已经收录136690个字符 5.UTF-8: 使用1.2.3.4个字节表示所有字符:优先使用1个字符.无法满足则使增加一个字节,最多4个字节.  英文占1个字节…
python encode和decode函数说明 字符串编码常用类型:utf-8,gb2312,cp936,gbk等. python中,我们使用decode()和encode()来进行解码和编码 在python中,使用unicode类型作为编码的基础类型.即 decode              encode str ---------> unicode --------->str u = u'中文' #显示指定unicode类型对象u str = u.encode('gb2312') #以…
python的str,unicode对象的encode和decode方法 python中的str对象其实就是"8-bit string" ,字节字符串,本质上类似java中的byte[]. 而python中的unicode对象应该才是等同于java中的String对象,或本质上是java的char[]. 对于 s="你好" u=u"你好" s="你好" u=u"你好" 1. s.decode方法和u.enc…
很多时候在写Python程序的时候都要在头部添加这样一行代码 #coding: utf-8 或者是这样 # -*- coding:utf-8 -*- 等等 这行代码的意思就是设定同一编码格式为utf-8 计算机中存储数据的编码方式多种多样, 常用的有 unicode, utf-8, gbk, 等等 在Windows系统下,文本文件默认保存的格式应该是gbk 在以一种编码格式保存文件时,应该使用相同的编码进行解析此文件, 不然可能会出现乱码情况 今天就是想记录一下我在写Python程序时,在解析字…
python的str,unicode对象的encode和decode方法(转) python的str,unicode对象的encode和decode方法 python中的str对象其实就是"8-bit string" ,字节字符串,本质上类似java中的byte[]. 而python中的unicode对象应该才是等同于java中的String对象,或本质上是java的char[]. 对于 s="你好" u=u"你好" s="你好&quo…
字符串编码常用类型:utf-8,gb2312,cp936,gbk等. Python中,我们使用decode()和encode()来进行解码和编码 在python中,使用unicode类型作为编码的基础类型.即 decode              encode str ---------> unicode --------->str u = u'中文' #显示指定unicode类型对象u str = u.encode('gb2312') #以gb2312编码对unicode对像进行编码str…
一.is 和 == 介绍 1. is  比较的是两个对象的内存地址是否相同,它们是不是同一个对象. 2. ==  比较的是两个对象的内容是否相同. 在使用is前,先介绍Python的一个内置函数id(),它是用于查看对象在内存中的id. >>> a = 10 >>> b = 'hello' >>> c= (1, 3, 5) >>> id(a); id(b); id(c) 4365573024 4372638160 4372561496…
前言: 我们知道,计算机是以二进制为单位的,也就是说计算机只识别0和1,也就是我们平时在电脑上看到的文字,只有先变成0和1,计算机才会识别它的意思.这种数据和二进制的转换规则就是编码.计算机的发展中,有ASCII码,GBK,Unicode,utf-8编码.我们先从编码的发展史了解一下编码的进化过程. 编码发展史 美国人发明了计算机,用八位0和1的组合,一一对应英文中的字符,整出了一个表格,ASCII表. 计算机传入中国,中国地大物博,繁体字和简体字多,8位字节最多表示256个字符,满足不了,于是…
python_2.x_unicode_to_str.py a = u"中文字符"; a.encode("GBK"); #打印: '\xd6\xd0\xce\xc4\xd7\xd6\xb7\xfb' print(a.encode("GBK")); 打印: �����ַ� a.encode("utf-8") 打印: '\xe4\xb8\xad\xe6\x96\x87\xe5\xad\x97\xe7\xac\xa6' 每三个byte…
Design an algorithm to encode a list of strings to a string. The encoded string is then sent over the network and is decoded back to the original list of strings. Machine 1 (sender) has the function: string encode(vector<string> strs) { // ... your…
Design an algorithm to encode a list of strings to a string. The encoded string is then sent over the network and is decoded back to the original list of strings. Machine 1 (sender) has the function: string encode(vector<string> strs) { // ... your…