python中unicode utf-8的互换】的更多相关文章

Python中Unicode字符串 字符串还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),0 - 255被用来表示大小写英文字母.数字和一些符号,这个编码表被称为ASCII编码,比如大写字母 A 的编码是65,小写字母 z 的编码是122. 如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且…
python中unicode对象和str对象拼接在一起,会自动将str对象转换成unicode对象 即:a="aa" b=u"bb" c=a+b type(c)会打印出此对象为unicode对象 另外,json.loads(a)返回的对象,key和value的类型均是unicode类型…
python中unicode, hex, bin之间的转换 背景 在smb中有个feature change notify, 需要改动文件权限dacl,然后确认是否有收到notify.一直得不到这个dacl的formal是什么样子的,于是pdb中打印出原始dacl,是个类似于\x01\x00\x04\的字符串str,然鹅无法用str的方法来操作它. 需求 拿到特定的dacl位(wireshark中已确认为str的第34位11111,bin\x1f)并对它的最后一个bit位进行翻转. 坑 get到…
转自:http://luchanghong.com/python/2012/07/06/python-encoding-with-unicode-and-gbk-and-utf8.html 概要:编码转换无疑是程序开发过程中常遇到而且很让人头疼的问题,一旦和数据库交互那就更麻烦了,今天来总结一下 python 中编码转换的方法. 前一段时间就想写一篇总结Python字符串的文章,但是时间较紧,而且我当时遇到的问题也不是很难,就暂搁下了,今天又被这编码折磨一番,泪奔啊…… 至于unicode.ut…
python中的str对象其实就是"8-bit string" ,字节字符串,本质上类似java中的byte[]. 而python中的unicode对象应该才是等同于java中的String对象,或本质上是java的char[]. str: s = "你好" unicode: u = u"你好“ unicode转化为str,采用encode 编码: str = u.encode('gbk') str转化为unicode ,采用decode 解码: unic…
在python中,unicode是内存编码集,一般我们将数据存储到文件时,需要将数据先编码为其他编码集,比如utf-8.gbk等. 读取数据的时候再通过同样的编码集进行解码即可. #python3 >>> s = '中国' >>> a = s.encode() >>> a b'\xe4\xb8\xad\xe5\x9b\xbd' >>> b = a.decode() >>> b '中国' 但是其实还有一种unicode…
比较简单明了,直接上例子 # -*- coding: utf-8 -*- t0 = u'测试' #u'\u6d4b\u8bd5' t1 = '测试' #'\xe6\xb5\x8b\xe8\xaf\x95' t3 = t0.encode('u8') #'\xe6\xb5\x8b\xe8\xaf\x95' t4 = t1.decode('u8') #u'\u6d4b\u8bd5'…
通过例子来看问题是比较容易懂的. 首先来看,下面这个是我新建的一个txt文件,名字叫做ivan_utf8.txt,然后里面随便编辑了一些东西. 然后来用控制台打开这个文件,同样也是截图: 这里就是简单的打开文本,读取文本内容,打印出来看,我们看到print出来的是和我写进去的是一样的东西.然后呢,我在对这个内容使用decode(‘gbk’),就是解编码,使用gbk方式进行解码,什么意思呢?就是说,我假设这个a是gbk方式的编码,结果是什么呢?大家都看到了,报错了哈!!!!说明这个不是gbk编码,…
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…
早上被python的编码搞得抓耳挠腮,在搜资料的时候感觉这篇博文很不错,所以收藏在此. python2.x中处理中文,是一件头疼的事情.网上写这方面的文章,测次不齐,而且都会有点错误,所以在这里打算自己总结一篇文章. 我也会在以后学习中,不断的修改此篇博客. 这里假设读者已有与编码相关的基础知识,本文不再再次介绍,包括什么是utf-8,什么是unicode,它们之间有什么关系. str与字节码 首先,我们完全不谈unicode. s = "人生苦短" s是个字符串,它本身存储的就是字节…
  1.unicode.gbk.gb2312.utf-8的关系 http://www.pythonclub.org/python-basic/encode-detail 这篇文章写的比较好,utf-8是unicode的一种实现方式,unicode.gbk.gb2312是编码字符集: 2.python中的中文编码问题 2.1 .py文件中的编码 Python 默认脚本文件都是 ANSCII 编码的,当文件 中有非 ANSCII 编码范围内的字符的时候就要使用"编码指示"来修正. 一个mo…
计算机早期是只支持ASCII码的,经过long long的发展,出现了这些支持世界上各种语言字符的编码:unicode, utf-8, gb2312. 对于unicode, utf-8, gb2312,虽然都能表示各种字符,但是各种字符在各种编码方式下的码是不一样的.可以把utf-8, gb2312理解为unicode这种编码思想(支持各种字符)的各种实现. python中的函数unicode(str, "UTF-8"),可以返回"UTF-8"编码的字符串str的u…
基于python2.7中的字符串: unicode-->编码encode('utf-8')-->写入文件 读出文件-->解码decode('utf-8')-->unicode 在使用unicode的时候,必须注意以下的原则: 1. 程序中出现字符串的地方加前缀u,表示为unicode类型 2.不要使用str函数,在使用的时候使用unicode函数 3.不要使用string模块 4.只有在写入文件或者数据库或者网络的时候,才使用encode函数来进行编码发送:只有在把数据读取回来的时…
Python中的str与unicode处理方法 2015/03/25 · 基础知识 · 3 评论· Python 分享到:42 原文出处: liuaiqi627 的博客    python2.x中处理中文,是一件头疼的事情.网上写这方面的文章,测次不齐,而且都会有点错误,所以在这里打算自己总结一篇文章. 我也会在以后学习中,不断的修改此篇博客. 这里假设读者已有与编码相关的基础知识,本文不再再次介绍,包括什么是utf-8,什么是unicode,它们之间有什么关系. str与字节码 首先,我们完全…
ascii和unicode是字符集,utf-8是编码集 字符集:为每一个「字符」分配一个唯一的 ID(学名为码位 / 码点 / Code Point) 编码规则:将「码位」转换为字节序列的规则(编码/解码 可以理解为 加密/解密 的过程) ascii每个字符占用一个字节(8位),其中第一位恒为0,因此ascii一共可以表示128个字符 unicode每个字符占用两个字节(16位),可以用来表示汉字 链接:https://www.zhihu.com/question/23374078/answer…
编码问题,一直是使用python2时的一块心病.几乎所有的控制台输入输出.IO操作和HTTP操作都会涉及如下的编码问题: UnicodeDecodeError:‘ascii’codec can’t decodebyte0xc4inposition10:ordinalnotinrange(128) 这究竟是是个什么东西?!有时稀里糊涂地用一坨encode(),decode()之类的函数让程序能跑对了,可是下次遇到非ASCII编码时又悲剧了. 那么Python 2.x中的字符串究竟是个什么呢? 基本…
正确处理文本,特别是正确处理Unicode.是个老生常谈的问题,有时甚至会难倒经验丰富的开发者.并不是因为这个问题很难,而是因为对软件中的文本,开发者没有正确理解一些关键概念及其表示方法.在StackOverflow上搜索关于UnicodeDecodeError相关的问题,可以看到很多人都有这样的误解.这些错误的概念可以追溯到Unicode出现之前.那时许多现今的开发者还没入职,也包括我自己.如果这些错误的概念没有散布开来,其实不是个问题.现在很多人都有这些错误概念,部分原因是因为有些非常流行的…
转自:http://www.crifan.com/python_already_got_correct_encoding_string_but_seems_print_messy_code/ [背景] Python中的字符编码,其实的确有点复杂. 再加上,不同的开发环境和工具中,显示的逻辑和效果又不太相同,尤其是,中文的,初级用户,最常遇到的: (1)在Python自带的IDE:IDLE中折腾中文字符,结果看到的差不多都是乱码类的东西,比如:’\xd6\xd0\xce\xc4′ (2)将一个中文…
版本信息: protobuf: v2.6.1 python: 2.7 关于在Python中使用protobuf时 string格式字段的编码问题 在python中编码格式多采用utf-8格式.而protobuf 官网中这样说到: 如果不做处理,在message 中定义了一个string类型的字段后,出现错误如下: ERROR: ValueError: '\xe5\x94\x90\xe6\x9e\x9c' has type bytes, but isn't in 7-bit ASCII encod…
Python中出现 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 12-13: truncated \UXXXXXXXX escape 1 问题 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 12-13: truncated \UXXXXXXXX escape 2…
windows中的路径是反斜杠\,然而反斜杠\在python中有着转义字符的意义,所以在py文件中写windows文件路径的时候,要特别注意反斜杠\的使用. 下面有三种解决方式: 方式一:转义的方式 'c:\\users\xxx\desktop\a.txt' 方式二:显式声明字符串不用转义 r'c:\users\xxx\desktop\a.txt' 方式三:使用linux的路径 'c:/users/xxx/desktop/a.txt' 以上三种方式都是正确的,可以解决当下的这个错误. 然而第三种…
前言曾几何时 Python 中文乱码的问题困扰了我很多很多年,每次出现中文乱码都要去网上搜索答案,虽然解决了当时遇到的问题但下次出现乱码的时候又会懵逼,究其原因还是知其然不知其所以然.现在有的小伙伴为了躲避中文乱码的问题甚至代码中不使用中文,注释和提示都用英文,我曾经也这样干过,但这并不是解决问题,而是逃避问题,今天我们一起彻底解决 Python 中文乱码的问题. 基础知识ASCII很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们看到8个开关状态…
这篇文章主要介绍python当中用的非常多的一种内置类型——str.它属于python中的Sequnce Type(序列类型).python中一共7种序列类型,分别为str(字符串),unicode(u字符串),list(列表),tuple(元组),bytearray(字节数组),buffer(缓冲内存),xrange(范围).它们的通用操作如下: Operation Result x in s 判断x是否在s中 x not in s 判断x是不在s中 x + t 两个序列合并, 将t加到s之后…
看这篇文章前,你应该已经知道了为什么有编码,以及编码的种类情况 ASCII 占1个字节,只支持英文 GB2312 占2个字节,支持6700+汉字 GBK GB2312的升级版,支持21000+汉字 Shift-JIS 日本字符 ks_c_5601-1987 韩国编码 TIS-620 泰国编码 由于每个国家都有自己的字符,所以其对应关系也涵盖了自己国家的字符,但是以上编码都存在局限性,即:仅涵盖本国字符,无其他国家字符的对应关系.应运而生出现了万国码,他涵盖了全球所有的文字和二进制的对应关系, U…
一,python中的in,和not in python中in的作用是检测或查找,例如: c = ‘你好大号胡覅但是啊飞碟说’ b = ‘你好’ print(b in c ) 结果: True c = ‘你好大号胡覅但是啊飞碟说’ b = ‘大好’ print(b in c ) 结果; Flase 检测的时候是从头开始一次检测,并且按照输入的内容查 而not in则是类似的方式,in的否定,再进行判断,于上相同. 二,运算符运用 1.基本运算符 与数学中的加减乘除类似,在基本符号的运用上增加了可让…
字符串编码常用类型: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有各种各样的string操作函数.在历史上string类在python中经历了一段轮回的历史.在最开始的时候,python有一个专门的string的module,要使用string的方法要先import,但后来由于众多的python使用者的建议,从python2.0开始, string方法改为用S.method()的形式调用,只要S是一个字符串对象就可以这样使用,而不用import.同时为了保持向后兼容,现在的 python中仍然保留了一个string的module,其中定义的方法…
Python 中的数据结构 “数据结构”这个词大家肯定都不陌生,高级程序语言有两个核心,一个是算法,另一个就是数据结构.不管是c语言系列中的数组.链表.树和图,还是java中的各种map,随便抽出一个就可以虐我们千万遍.Python作为高级程序语言的一种,它的数据结构即继承了传统数据结构的本职工作,又提高了办事效率,可谓青出于蓝而胜于蓝.免去了繁琐的指针操作,使用起来真是神清气爽吖! 好啦,下面就切入正题吧~ Python中常见的数据结构可以统称为容器(container).其中序列(如列表和元…
前言 这篇文章,并不是对正则表达式的介绍,而是对Python中如何结合re模块使用正则表达式的介绍.文章的侧重点是如何使用re模块在Python语言中使用正则表达式,对于Python表达式的语法和详细的介绍,可以参考别的文章,这篇文章只是给出一些常用的正则表达式语法,以方便对re模块的使用进行讲解. 对正则表达式的介绍,可以参看这两篇文章: 正则表达式30分钟入门教程 正则表达式之道 注意:实验环境为 Python 3.4.3 正则表达式简介 正则表达式,又称正规表示式.正规表示法.正规表达式.…
简单的写几种我知道的关于Python中出现的异常含义,希望大神批评指正,我只是学软件开发的菜鸟,前面的路还很长,我会努力学习! 什么是异常? 异常既是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行. 一般情况下,在Python无法正常处理程序时就会发生一个异常. 异常是Python对象,表示一个错误. 当Python脚本发生异常时我们需要捕获它,否则程序会终止执行. 异常处理的方法: 由于本人自己也不是很了解,大家可以根据自己出现的异常名称,通过网络查找解决方法! 下面是具体异常名…