编码转换

Python 简单入门指北(一)

↘锁芯ラ 提交于 2020-01-30 08:50:45
Python 简单入门指北(一) Python 是一门非常容易上手的语言,通过查阅资料和教程,也许一晚上就能写出一个简单的爬虫。但 Python 也是一门很难精通的语言,因为简洁的语法背后隐藏了许多黑科技。本文主要针对的读者是: 毫无 Python 经验的小白 有一些简单 Python 经验,但只会复制粘贴代码,不知其所以然的读者 觉得单独一篇文章太琐碎,质量没保证,却没空读完一本书,但又想对 Python 有全面了解的读者 当然, 用一篇文章来讲完某个语言是不可能的事情,我希望读完本文的读者可以: 对 Python 的整体知识结构形成初步的概念 了解 Python 特有的知识点,比如装饰器、上下文、生成器等等,不仅会写 Demo,还对背后的原理有一定了解 避免 C++/Java 等风格的 Python 代码,能够写出地道的 Python 代码 能够熟练的使用 Python 编写脚本实现日常的简单需求,能够维护小型 Python 项目,能够阅读较复杂的 Python 源码 如果以上介绍符合你对自己的定位,在开始阅读前,还需要明确几点: 本文不会只介绍用法,那样太肤浅 本文不会深入介绍某个知识点,比如分析源码等,那样太啰嗦,我希望做一名引路人,描述各个知识点的概貌并略作引申,为读者指出下一步的研究方向 代码注释非常重要,一定要看,几乎所有的代码段都可以执行,强烈建议手敲一遍! 0.

Java IO深入

ぃ、小莉子 提交于 2020-01-30 00:25:38
IO体系 Java IO 体系种类繁多,感觉很复杂,但其实是 IO 涉及的因素太多了。在进行介绍的时候添加了设计模式等的使用,会让你感觉更加难以理解难以使用这些IO类,在此对java的IO做了一个详细的总结。 IO 类设计出来,肯定是为了解决 IO 相关的操作的,想一想哪里会有 IO 操作?网络、磁盘。网络操作相关的类是在 java.net 包下,不在本文的总结范围内。提到磁盘,你可能会想到文件,文件操作在 IO 中是比较典型的操作。在 Java 中引入了 “流” 的概念,它表示任何有能力产生数据源或有能力接收数据源的对象。数据源可以想象成水源,海水、河水、湖水、一杯水等等。数据传输可以想象为水的运输,古代有用桶运水,用竹管运水的,现在有钢管运水,不同的运输方式对应不同的运输特性。 从数据来源或者说是操作对象角度看,IO 类可以分为: 1、文件(file):FileInputStream、FileOutputStream、FileReader、FileWriter 2、数组([]): 2.1、字节数组(byte[]):ByteArrayInputStream、ByteArrayOutputStream 2.2、字符数组(char[]):CharArrayReader、CharArrayWriter 3、管道操作:PipedInputStream、PipedOutputStream

python中base64编码与解码

本小妞迷上赌 提交于 2020-01-29 17:37:20
python中base64编码与解码 引言:   在一些项目中,接口的报文是通过base64加密传输的,所以在进行接口自动化时,需要对所传的参数进行base64编码,对拿到的响应报文进行解码; Base64编码是一种“防君子不防小人”的编码方式。广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符。 优点:速度快,ascii字符,肉眼不可理解 缺点:编码比较长,非常容易被破解,仅适用于加密非关键信息的场合 python2中进行Base64编码和解码 >>> import base64 >>> s = '我是字符串' >>> a = base64.b64encode(s) >>> print a ztLKx9fWt/u0rg== >>> print base64.b64decode(a) 我是字符串 python3不太一样:因为3.x中字符都为unicode编码,而b64encode函数的参数为byte类型,所以必须先转码。 import base64 encodestr = base64.b64encode('abcr34r344r'.encode('utf-8')) print(encodestr)打印结果为b'YWJjcjM0cjM0NHI='结果和我们预想的有点区别,我们只想要获得YWJjcjM0cjM0NHI=

如何循序渐进向DotNet架构师发展

て烟熏妆下的殇ゞ 提交于 2020-01-29 04:20:26
如何循序渐进向DotNet架构师发展 以下文章为转载,原文见【 如何循序渐进向DotNet架构师发展 】 blueski推荐 [2006-7-17] 出处:CSDN 作者:人月神话blog 微软的DotNet开发绝对是属于那种入门容易提高难的技术。而要能够成为DotNet架构师没有三年或更长时间的编码积累基本上是不可能的。特别是在大型软件项目中,架构师是项目核心成员,承上启下,因此RUP方法论也认同以架构为核心,体现4+1视图在整个软件开发过程中的重要作用。架构人员既要精通技术,又要熟悉业务,而且基本对软件生命周期各阶段的相关技术都需要有相关的积累和知识储备,而这些不经过多年的磨练是很难达到这个高度的。 要成为一个合格的架构师首先必须是一个合格或优秀的编码人员,对于开发来讲编码始终都是最重要的一项技能,在编码过程中只要自己善于去思考和分析问题,就可以多学到很多相关的知识和技术。所以我们在开发过程中一定要注意新知识和新技术的学习,前人经验和成果的学习。编码过程中应该去思考的一些问题有: 1.在编码过程中自己是否做单元测试,是否使用相关工具做单元测试,如果没有的话是什么原因无法把单元测试做起来? 2.自己编码的泄露率情况,编码泄露的BUG的原因分析 3.是否有意识的对代码进行重构,重构过程中是否引入了相关设计模式的思想? 4.是否对C#语言的一些高级特性进行学习,如反射调用,异步处理等

get_dummies的编码用法

柔情痞子 提交于 2020-01-29 02:02:14
one-hot encoding one-hot的基本思想:将离散型特征的每一种取值都看成一种状态,若你的这一特征中有N个不相同的取值,那么我们就可以将该特征抽象成N种不同的状态,one-hot编码保证了每一个取值只会使得一种状态处于“激活态”,也就是说这N种状态中只有一个状态位值为1,其他状态位都是0。 pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False) 参数说明: data : array-like, Series, or DataFrame 输入的数据 prefix : string, list of strings, or dict of strings, default None get_dummies转换后,列名的前缀 columns : list-like, default None 指定需要实现类别转换的列名 dummy_na : bool, default False 增加一列表示空缺值,如果False就忽略空缺值 drop_first : bool, default False 获得k中的k-1个类别值,去除第一个 1.新增列为one-hot形式 # change weekday to

编码转换 文件的操作

╄→гoц情女王★ 提交于 2020-01-28 22:53:39
1.编码的转换 1 s1 = "汤圆" 2 s2 = s1.encode("utf-8") 将s1的Unicode编码转换成utf-8格式的编码 3 s3 = bs.decode("utf-8") 将s2的utf-8格式的编码转换成Unicode的编码 4 bs2 = s2.encode("gbk") 将bs的Unicode格式的编码转换成gbk格式的编码 2.文件的操作流程 操作文件的流程: 1,打开文件,产生一个文件句柄. 2, 对文件句柄进行相应的操作. 3,关闭文件句柄. 1 f = open("D:\美女校花联系方式.txt",encoding='utf-8',mode='r') 2 print(f.read()) 3 f.close() 3.文件的常用操作: r: ①.read()全部读取 1 f1 = open = ('r模式',encoding = 'utf-8') 2 comment = f1.read() 3 print(comment) 4 f1.close() ②.read(n) 在r模式下就是: 读取前n个字符 在rb模式下就是:读取前n个字节 1 f1 = open('r模式',encoding = 'utf-8',mode = 'r') 2 print(f1.read(3)) 3 f1.close() 4 5 f2 = open('r模式'

【函数应用】PHP中关于URL的函数处理

若如初见. 提交于 2020-01-28 19:23:27
一,函数介绍 1.解析HTTP头信息:get_header() array get_headers ( string 目标URL [, int $format = 0 【如果将可选的 format 参数设为 1,则 get_headers() 会解析相应的信息并设定数组的键名】] ) 返回包含有服务器响应一个 HTTP 请求所发送标头的索引或关联数组,如果失败则返回 FALSE 。 相似的还有 apache_request_headers(void) 返回包含当前Apache请求所有头信息的数组,失败返回 FALSE 。 apache_response_headers(void) 成功时返回包含全部 Apache 响应头信息的数组, 或者在失败时返回 FALSE . 2.解释meta标签: get_meta_tags() array get_meta_tags ( string $filename [, bool $use_include_path = false ] ) 参数: filename   HTML 文件的路径字符串。 此参数可以是本地文件也可以是一个 URL 。 use_include_path   将 use_include_path 设置为 TRUE 将使 PHP 尝试按照 include_path 标准包含路径中的每个指向去打开文件。这只用于本地文件,不适用于

Python2和3字符编码的区别

戏子无情 提交于 2020-01-28 17:46:58
Python2和3字符编码的区别 一、字符编码应用之Python 1.1 执行Python程序的三个阶段 Python test.py (再强调一遍,执行test.py的第一步,一定是先将文件内容从硬盘读入到内存中) test.py文件内容以gbk格式保存的,内容为: [ 阶段一:启动Python解释器 阶段二:Python解释器此时就是一个文本编辑器,负责打开文件test.py,即从硬盘中读取test.py的内容到内存中 此时,Python解释器会读取test.py的第一行内容, #coding:utf-8 或 #-*-coding:utf-8-*- ,以此决定以什么编码格式将代码读入内存,这一行就是设定Python解释器这个软件使用的编码格式。 可以用sys.getdefaultencoding()查看,如果不在Python文件指定头信息 #-*-coding:utf-8-*- ,那就使用Python默认的编码格式。 import sys sys.getdefaultencoding() Copy'utf-8' Python2中默认使用ascii,Python3中默认使用utf-8。 改正:在test.py指定文件头,字符编码一定要为gbk。即更正为 #coding:gbk 你好啊 阶段三:读取已经加载到内存的代码(Unicode编码格式),然后执行

Java中的字节和字符

老子叫甜甜 提交于 2020-01-28 07:46:09
最近在看Java中的IO相关知识,发现对字节和字符的理解还不够。写篇总结记录一下。 一、字节 所谓字节(Byte),是计算机数据存储的一种计量单位。一个二进制位称为比特(bit),8个比特组成一个字节,也就是说一个字节可以用于区分256个整数(0~255)。由此我们可以知道,字节本是面向计算机数据存储及传输的基本单位,后续的字符也就是以字节为单位存储的,不同编码的字符占用的字节数不同。 那么在Java中,除了存储的意义外,Java还将字节Byte作为一种基本数据类型,该数据类型在内存中占用一个字节,用于(-128~127)范围内的整数 byte a = -128; byte b = 127; 总的来说,字节在Java中有两种含义: 存储的单位 Java的数据类型,用于表示-128~127范围的整数 二、字符 计算机底层存储的是字节,字符的设计则是用于展示符号。屏幕上显示的各种文字,数字,符号等就是解码的字符。所以我们说字符是用来显示的符号,它将存储的字节转换成人们看得懂的符号,因此字符的核心就是定义字节与展示符号之间的关系,这种映射关系通常也叫做编码。 2.1、编码的由来 为什么要编码呢?前面我们知道数据都是以字节为单位存储在计算机中,字节可以区分256个整数,最容易想到的就是将这256个整数定义为256种状态并分别对应256个字符。但是人类符号太多了,256种是不够的

文件处理

谁都会走 提交于 2020-01-28 03:30:39
Python处理文件 文件操作分为读、写、修改,我们先从读开始学习 读文件 文件内容 姓名 地区 身高 体重 联系方式 马纤羽 深圳 173 50 13744234523 乔亦菲 广州 172 52 15823423525 罗梦竹 北京 175 49 18623423421 刘诺涵 北京 170 48 18623423765 岳妮妮 深圳 177 54 18835324553 贺婉萱 深圳 174 52 18933434452 叶梓萱 上海 171 49 18042432324    示例1: f = open(file='D:/工作日常/兼职白领学生空姐模特护士联系方式.txt',mode='r',encoding='utf-8') data = f.read() f.close() 上述操作语法解释: file='D:/工作日常/兼职白领学生空姐模特护士联系方式.txt' 表示文件路径 mode='r' 表示只读(可以修改为其他) encoding='utf-8' 表示将硬盘上的 0101010 按照utf-8的规则去“断句”,再将“断句”后的每一段0101010转换成unicode的 01010101,unicode对照表中有01010101和字符的对应关系。 f.read() 表示读取所有内容,内容是已经转换完毕的字符串。 f.close() 表示关闭文件 PS: