2.内存和硬盘:

内存:计算机硬件组成部分之一,它是一个容器,用来存储数据;处理数据速度快,

存储数据量小;断电死机数据会丢失,短暂性存储数据

硬盘:计算机硬件组成部分之一,它是一个容器,用来存储数据;处理数据速度慢,

存储数据量大,断电死机数据不会丢失,数据的持久存储

3.字节和字符

字节:计算机的存储数据的单位,底层唯一能够识别并且运算的数据

字符:人类将字节封装为另一种能直接识别的数据单位,底层还是字节

4.如何区分字节文件和字符文件

如果使用文本编辑器打开能看得懂(不会乱码)那它就是一个字符文件,

反之,它是一个字节文件

提问:常见的字节文件和字符文件有哪些?(枚举出一些)

字节文件:图片文件(.jpg、.png...)、视频文件(.avi、.mp4、.rmb...)、音频文件(.mp3...)

字符文件:.txt、.py、.java、.js、.html、.css、.php...

思考:.doc结尾的文件是字节还是字符文件?

是字节文件,因为.doc结尾的文件中既可以包含字符内容,也可以包含图片、颜色设置...操作

思考:计算机数据层面,一切皆字节,对不对?

对的;因为计算机底层唯一能够识别和运算的都是字节数据...

5.字符编码(字符集)

ascii码表:U.S.A设计出来的,范围非常小;不包含很多国家的文字,英文字符占用内存1个字节

utf-8码表:现今比较通用的一张编码表,包含了世界上所有的文字内容,范围:0~65535之间,

1个汉字占用内存3个字节,1个英文字符占用内存1个字节

gbk码表:gbk属于gb2312的扩充版,兼容了gb2312中的所有字符,加入更多的一些汉字内容,

1个汉字占用内存2个字节,1个英文字符占用内存1个字节,

在我们中国环境下,大多数情况默认的都是gbk作为编码

6.编码和解码:

编码:让数据从看的懂到看不懂,就是编码

解码:让数据从看不懂到看得懂,就是解码

【注意】

编码和解码如果不一致会怎么样?

1).会出现乱码现象

2).会报错

不管是上述的1还是2都是不理想的结果,我们都需要避免

字符串的两个函数引入:

encode(encoding,errors):对字符串数据进行编码操作,得到一个bytes类型的数据

decode(encoding,errors):对字符串数据进行解码操作,得到一个str类型的数据

演示eccode()和decode()函数的使用:
str1='哈哈呵呵'

#编码:encode()
b=str1.encode(encoding='utf-8')
print(b,type(b)) #解码:decode()
str2=b.decode('utf-8','ignore')
print(str2,type(str2))

python第二十八课——编码小常识的更多相关文章

  1. python第二十九课——文件读写(读取读取中文字符)

    演示:读取中文字符 结论: 1).如果不设置encoding,默认使用gbk进行编解码 2).如果编码和解码不一致,最终导致报错,但是一旦设置了errors='ingore',那么就不会报错,而采取乱 ...

  2. NeHe OpenGL教程 第二十八课:贝塞尔曲面

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  3. python第二十九课——文件读写(复制文件)

    自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest): #1.打开两个文件:1个关联读操作,1个关联写操作 fr=open(src,'rb ...

  4. Python学习第二十八课——Django(templates)

    templates 讲后台得到的数据渲染到页面上:话不多说,先看具体代码. urls: from django.conf.urls import url from django.contrib imp ...

  5. Python学习第二十八课——Django(urls)

    Django框架中的urls配置: 首先通过pycharm创建一个Django项目: 例如要写blog的功能:则在digango_lesson中的urls代码如下: """ ...

  6. python六十八课——网络编程之UDP协议

    1.1 概述 UDP是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接.简单来说,当一台计算机向另外一台计算机发送数据时,发送端不会确认接收端是否存在,就会发出数据,同样接收端在收到 ...

  7. 第二十八课:focusin与focusout,submit,oninput事件的修复

    focusin与focusout 这两个事件是IE的私有实现,能冒泡,它代表获得焦点或失去焦点的事件.现在只有Firefox不支持focusin,focusout事件.其实另外两个事件focus和bl ...

  8. 潭州课堂25班:Ph201805201 django 项目 第二十八课 新闻elasticsearch搜索前后功台能实现 (课堂笔记)

    后端功能实现 文件,类,字段,命名不要改动, 在apps/news/search_indexes.py中创建如下类:(名称固定为search_indexes.py) # -*-# -*- coding ...

  9. python五十八课——正则表达式(替换)

    替换:sub(regex,repl,string,count,[flags=0]): 替换数据,返回字符串(已经被替换完成后的内容)subn(regex,repl,string,count,[flag ...

随机推荐

  1. angular项目使用Swiper组件Loop时 ng-click点击事件失效处理方法

    在Angular项目中,使用swiper组件进行轮播展示时,存在将swper的loop设置为true时,部分页面的ng-click失效. 原因:将swiper中的looper设置为true时,为了视觉 ...

  2. RESTful API入门

      RESTful是一种设计风格,并不是一种标准. 简短的去概括的话,就是:1.URL 定位资源 资源,就是数据.比如newsfeed,friends,order等 2.用 HTTP 动词描述操作. ...

  3. Arrays工具类的aslist()方法的使用

    数组转换成集合: 数组转换成集合不能增加或减少元素,但是可以用集合思想操作数组,也就是说可以使用其他集合中的办法 String[] arr = {"a", "b" ...

  4. SQL Server系列文章目录

    SQL Server系列文章目录SQL Server系列文章目录SQL Server系列文章目录SQL Server系列文章目录

  5. VMware打开虚拟机没反应的解决方案(全面汇总)

    VMware打开虚拟机无反应的解决方案(全面汇总)虚拟机没反应的解决办法大概是如下几点:一.若是第一次安装后打不开虚拟机,大致是如下两种解决方案: 1.大多数时候,虚拟机打不开都是因为防火墙拦截所致 ...

  6. 01-MySql的前戏

    [转]01-MySql的前戏 MySql的前戏 在学习Mysql之前,我们先来想一下一开始做的登录注册案例,当时我们把用户的信息保存到一个文件中: #用户名 |密码root|123321 alex|1 ...

  7. h5新增加的存储方法

    h4中使用的cookie把用户信息保存在客户端浏览器,但是它受到很多限制. 大小:最多能存储4k 带宽:它是随着http请求一起发送到服务器的,因此浪费一部分的带宽. 复杂度:操作复杂. h5新增加了 ...

  8. CSS隐藏多余的文字

    效果: <p><strong>商品名称:</strong>新鲜现摘云南绥江半边红李子甜脆脱骨李6斤当季绿色有机水果包邮</p></div> ...

  9. 网络基础 港湾FlexHammer5010交换机镜像端口配置

    港湾FlexHammer5010交换机镜像端口配置 by:授客 QQ:1033553122 1.登陆港湾交换机FlexHammer5010交换机 方法: telent 交换机ip 输入用户名 输入用户 ...

  10. 【Redis】Redis学习(一) Redis初步入门

    一.Redis基础知识 1.1 Redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.它支持字符串.哈希表.列表.集合.有序集合,位图,h ...