encode与decode,unicode与中文乱码的问题

摘要:
encode是指将unicode字符编码成其他字符集的字符,如utf-8,ascii等;而decode是指将其他字符编码,如utf-8转换成unicode编码。encode是指将人类用的语言(字符串)编码为机器能识别的语言(字节码),decode反之。Python中的字符串类型代表人类通用的语言符号,因此字符串类型有encode()方法;而字节类型代表计算机通用的对象,因此字节类型有decode()方法。

encode是指将unicode字符编码成其他字符集的字符,如utf-8,ascii等;

而decode是指将其他字符编码,如utf-8转换成unicode编码。

encode是指将人类用的语言(字符串)编码为机器能识别的语言(字节码),decode反之。

【简单来说编码就是把人类通用的语言符号翻译成计算机通用的对象,而反向的翻译过程自然就是解码了。Python 中的字符串类型代表人类通用的语言符号,因此字符串类型有encode()方法;而字节类型代表计算机通用的对象(二进制数据),因此字节类型有decode()方法。】

引自:http://python.jobbole.com/84840/

其中还包含更多关于字符集的解释,和类似'ascii'codec can't encode character 'u96e8' in position 0..的错误解决方法

python中可以用isinstance函数来判断某个字符串是否是unicode:

s=u"中文"

isinstance(s, unicode) #用来判断是否为unicode

给出一段处理字符串编码的通用代码:

    ifisinstance(s, unicode):
        s=s.encode('utf-8')
#如果当前是unicode,就直接编码成utf-8 print 'encoded' else: s=s.decode('gb2312').encode('utf-8') #否则,已知当前是gb2312字符集,先将其解码成unicode,再按照utf-8编码 print 'decoded and encoded'

引自http://www.blog.chinaunix.net/uid-25063573-id-3033365.html

免责声明:文章转载自《encode与decode,unicode与中文乱码的问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Cygwin 安装列表Spring Boot 发送邮件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

TCHAR数据类型介绍

转载:https://blog.csdn.net/mousebaby808/article/details/5259944 并不是所有的Windows操作系统都支持UNICODE编码的API(例如早期的Windows98), 这就造成了两种结果:某些版本的Windows应该应用wchar_t来保存字符, 某些平台的Windows应该使用char类型来保存字...

ANSI 和 UNICODE 的函数对应表

ANSI        UNICODE           通用(char.h)    (wchar.h)        (tchar.h) char         wchar_t          TCHARchar *       wchar_t *        PTCHAR (PTSTR,LPWSTR,PWSTR,WCHAR) printf   ...

(转)VC++的Unicode编程

一、什么是Unicode  先从ASCII说起,ASCII是用来表示英文字符的一种编码规范。每个ASCII字符占用1个字节,因此,ASCII编码可以表示的最大字符数是255(00H—FFH)。其实,英文字符并没有那么多,一般只用前128个(00H—7FH,最高位为0),其中包括了控制字符、数字、大小写字母和其它一些符号。而最高位为1的另128个字符(80H...

JS字符编码----ASCII,Unicode 和 UTF-8

转:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 1.ASCII 码 八个二进制位就可以组合出256种状态,这被称为一个字节(byte) 使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符...

引入自定义字体,chrome警告Failed to decode downloaded font,Edge可以显示

demo: 警告: 原因: ttf字体文件chrome不识别,需进行格式转换 工具: 在线字体转换工具 这些站点能把你上传的字体转换成任意格式,包括 WOFF。Online Font Converterhttps://onlinefontconverter.com/Transfonterhttps://transfonter.org/Simple...

.net读取Windows登录用户信息(downmoon)

前天,在CodeProject看到一篇文章http://www.codeproject.com/KB/system/LSAEnumUserSessions.aspx 如何读取windows 当前登录用户的状态信息。 主要代码分享如下: 一:导入dll Code /**//******************************************...