python字符串

Python字符串的encode与decode研究心得乱码问题解决方法

只谈情不闲聊 提交于 2019-12-05 19:47:49
Python字符串的encode与decode研究心得乱码问题解决方法 发布:dxy 字体:[增加 减小] 类型:转载 为什么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作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。 encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。 因此,转码的时候一定要先搞明白,字符串str是什么编码,然后decode成unicode,然后再encode成其他编码

python 字符串替换

99封情书 提交于 2019-12-05 17:47:10
python 字符串替换 将一个字符串中的每个空格替换成“%20”。例如,当字符串为 s=‘We Are Happy’.则经过替换之后的字符串为We%20Are%20Happy。 方法一:s.replace(' ','%20') 方法二:用正则表达式 import re s = 'We Are Happy' p = re.compile(' ') replace = p.sub('%20',s) print(replace) 来源: https://www.cnblogs.com/Concerning/p/11938167.html

前端JavaScript

给你一囗甜甜゛ 提交于 2019-12-05 17:32:06
引入方式 script标签内写代码: 在head标签里面可以写, 在body里面也可以写 <script> # 在这里写你的代码 console.log("骑士计划!") # f12 打开浏览器的调试窗口, 然后在console这个调试台就能看到这个内容 alert("骑士计划!") # 这个是浏览器窗口一打开咱们这个文件, 就弹出一个窗口 <script> 引入额外的js文件: <script src="myscript.js"></script> JavaScript语言规范 注释 // 这是单行注释 /* 这是多行 注释 */ 结束符 ​ JS中的语句要以分号(;)为结束符. 也就是说和缩进没关系 JavaScript语言基础 变量声明 ​ JavaScript 的变量名可以使用 _ , 数字, 字母, $组成, 不能以数字开头 ​ 声明变量使用 var + 变量名 的格式来进行声明 var name = "Alex"; /* 也可以分两步, 声明变量var name; 然后name = "alex", 但是通常我们都是一步写完 var age = 18; ​ 注意: ​ 变量名是区分大小写的. 推荐使用驼峰式命名规则. 首字母大写. 保留字(关键字)不能用作变量名 JavaScript数据类型 JS拥有动态类型 var x; # 此时 x 是undefined

json.dumps()包装中文字符串

不羁岁月 提交于 2019-12-05 16:57:04
json.dumps() 包装中文字符串 开发环境 系统: ubuntu18.04 系统编码: $LANG = en_US.UTF-8 python解释器版本: Python 3.6.7 乱码现场 使用 json.dumps() 将 dict 转化为 json 数据的时候, 中文会显示为对应的 unicode 编码形式 demo: param = { "code": "0", "message": "中文内容" } param1 = json.dumps(param, ensure_ascii=False) param2 = json.dumps(param) print(param1) print(param2) 输出内容: param1: {"code": "0", "message": "中文内容"} param2: {"code": "0", "message": "\u4e2d\u6587\u5185\u5bb9"} 并非乱码, 其实是 unicode 的16进制表示形式. 分析 区别在于 ensure_ascii=False 这个参数, 看下 json.dumps() 的方法的源码: def dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls

字符串转换ASCII码、Unicode码

一世执手 提交于 2019-12-05 15:30:32
将字符串转成16进制的ASCii码的值 python: 使用python 内置函数repr可以将非ascii码转换成\x**的样式,如下: >>> a='我们都是中国人' >>> print repr(a) '\xe6\x88\x91\xe4\xbb\xac\xe9\x83\xbd\xe6\x98\xaf\xe4\xb8\xad\xe5\x9b\xbd\xe4\xba\xba' >>> 好像换成非中文就不行了。 对于英文可以用这个: >>> a=''.join('\\x%02x' % ord(x) for x in 'Hello World!') >>> print a \x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21 bash: ada@barnabas:~> echo "ABCDE" | uni2ascii -Bsepq \x0041\x0042\x0043\x0044\x0045 ada@barnabas:~> echo "ABCDE" | uni2ascii -Bsepq | ascii2uni -Bq ABCDE C语言: void print_hex(const char *s) { while(*s) printf("\\x%02x", (unsigned int) *s++); printf("\n"); }

Python基础——上节补充及数据类型

删除回忆录丶 提交于 2019-12-05 13:33:20
1.变量的创建过程 当我们创建一个变量name='oldboy'时,实际上是这样一个过程。 程序先开辟了一个内存空间,把变量的内容放进去,再让变量name指向'oldboy’所在的内存地址。 我们可以通过id(name)来查看变量所指向的内存地址,即'oldboy'所在的内存地址。 当变量修改时,name='alex',变量就会再开辟一块内存空间,只想‘alex'所在的内存地址,同时断开与'oldboy'之间的连接。 这时id(name)会得到与之前不同的内存地址。比如name指向'oldboy'时的内存地址为4317182301,那么name指向‘alex'的内存地址就可能是4317182360。 当一个变量的值改变时,这个变量会指向新得内存地址,原来数据所占据的内存空间会被释放掉,这就是变量的垃圾回收机制。 如果name1='oldboy' ,name2='oldboy',那么name1和name2指向同一个内存地址。 但是,当name1='alex'时,程序会开辟一个新的内存地址,name1指向'alex'所在的内存地址,同时也断开了与'oldboy'的连接。 2.身份运算 Python中有很多数据类型,查看数据的数据类型可用type()方法。 name = 'alex' print(type(name)) 上面两行代码的运行结果就是<class 'str'>

python json库

限于喜欢 提交于 2019-12-05 12:07:04
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。 1.json库的使用 使用 JSON 函数需要导入 json 库: import json 。 函数 描述 json.dumps 将 Python 对象编码成 JSON 字符串 json.loads 将已编码的 JSON 字符串解码为 Python 对象 1. json.dumps 将 Python 对象编码成 JSON 字符串。 语法 json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw) 例如:将python数组对象转为JSON字符串 #!/usr/bin/python import json data = [ { 'name' : '张三', 'age' : 25}, { 'name' : '李四', 'age' : 26} ] jsonStr = json.dumps(data) print(jsonStr) 结果: [{"name": "\u5f20

python字符串中的单双引

↘锁芯ラ 提交于 2019-12-05 11:47:27
python中字符串可以(且仅可以)使用成对的单引号、双引号、三个双引号(文档字符串)包围: 'this is a book' "this is a book" """this is a book""" 可在单引号包围的字符串中包含双引号,三引号等,但不能包含单引号自身(需转义) 'this is a" book' 'this is a"" book' 'this is a""" book' 'this is a\' book' 也可多单引号中的双引号转义,但通常没什么必要和意义 'this is a\" book' 同理,双引号中可包含单引号,但不能包含双引号以及由双引号构成的三引号 "this is a' book" "this is a\" book" 也可对双引号中的单引号进行转义,但同样,这通常没有必要也没有意义 "this is a\' book" 现在还有一个问题,如果我想在单引号包围的字符串中显示“\'”呢,答案是分别对“\”和“'”进行转义,也即要想在字符串中显示“\”这个特殊字符,需对特殊字符本身进行转义,其他特殊字符类似。 >>> s='this is a\' book' >>> print s this is a' book >>> s='this is a\\\' book' >>> print s this is a\' book 要显示多少次“\

Day01第一天 Python基础一

倾然丶 夕夏残阳落幕 提交于 2019-12-05 11:32:50
变量 就是将一些运算的中间结果暂时存在内存中,以便后续代码的调用. >命名规则: 1,只能以字母,数字,下划线自由组合,且,不能以数字开头. 2,不能是 Python 中的关键字. 3,要具有可描述性. 4,不要用中文命名. 常量 >一直不变的量 因为 Python 中没有常量的概念,所以,为了区别常量与变量,常量的命名除了与变量命名 规则相同外,所有字母全是大写,以此来区分常量与变量. 比如: π # PAI = 3.14 建国日期 # BIR_OF_CHINA = 1949 注释 方便自己,方便他人理解代码,一定要养成写注释的习惯 >单行注释: # >多行注释: '' 内容 '''或者""" 内容 """ 基础数据类型 Ps.判断数据类型的方法是 typy() >整数类型(int) 可以进行 + _ * / ** % int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647 在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807 >字符串转化成数字:int(str) 条件:str 必须是数字组成的. >数字转化成字符串:str(int) >字符串类型(str)。 >在Python中

Json模块和Pickle模块的使用

浪子不回头ぞ 提交于 2019-12-05 09:05:27
在对数据进行序列化和反序列化是常见的数据操作,Python提供了两个模块方便开发者实现数据的序列化操作,即 json 模块和 pickle 模块。这两个模块主要区别如下: json 是一个文本序列化格式,而 pickle 是一个二进制序列化格式; json 是我们可以直观阅读的,而 pickle 不可以; json 是可互操作的,在 Python 系统之外广泛使用,而 pickle 则是 Python 专用的; 默认情况下,json 只能表示 Python 内置类型的子集,不能表示自定义的类;但 pickle 可以表示大量的 Python 数据类型。 Json 模块 Json 是一种轻量级的数据交换格式,由于其具有传输数据量小、数据格式易解析等特点,它被广泛应用于各系统之间的交互操作,作为一种数据格式传递数据。它包含多个常用函数,具体如下: dumps()函数 dumps() 函数可以将 Python 对象编码成 Json 字符串。例如: #字典转成json字符串 加上ensure_ascii=False以后,可以识别中文, indent=4是间隔4个空格显示 import json d={'小明':{'sex':'男','addr':'上海','age':26},'小红':{ 'sex':'女','addr':'上海', 'age':24},} print(json.dumps