00:00
好,刚才呢,我们聊了聊这个进制啊,我们说这么几种进制,二进制,十进制,八进制,还有这个16进制,但现在你要明确一点,我们的诶所有的内容在计算机底层都是以二进制的形式去保存的,比如说其实呢,诶,我有这么一个小软件,这东西你也不用去装,你可以去用它去简单的看一下啊,比如说我可以用它去来这个是一个ban river,就是一个二进制代码,一个查看器,通过它可以直接看到我们文件的二进制,那比如说我来打开一下我们当前这个笔记啊,在这个read密啊直接打开,一打开以后,实际上你会发现它一打开这个东西跟我们这就不一样了,他这一打开你会发现你看这边都是什么,都是二进制的啊,所以注意,实际上我们写的这个文件在计算机底层都会以二进制的形式去保存啊,去保存看一眼就OK了啊,不多说了,关掉它。
01:00
然后在这我们再说一个概念,叫做一个文本啊,文本,诶,我们叫做一个文本,那什么叫文本呀,文本,我们写这个东西是不是就叫文本呀?哎,我们写这个文东西就叫文本啊,那要注意了,文本我们分成两种,两种,哎,一种呢叫做什么呀?哎,一种叫做纯文本,哎,还有什么呢?哎,还有一种叫做副文本,副文本。副文本是吧,富什么意思呀,富裕有钱对吧?那纯文本文本它们什么区别啊,纯文本富文本他们什么区别,那我们来说一下,先说我们这个纯文本,纯文本中只能哎保存什么呀?哎保存我们这个文本啊,只能保存我们这个单一的这个文本内容,它无法什么呢?无法保存一些什么呀?诶内容无关的,内容无关的东西,什么叫内容无关的,比如说字体,比如说我们的这个这个这个颜色,诶比如说这个什么呀,诶图片诶等等吧,这些东西,这些东西都是和内容无关的,所以在纯文本当中,这些东西是无法保存的,那像我们这写的这些都是纯文本,我们的这个马格文件都是纯文本,再比如说我桌面上随便。
02:38
整一个啊,创建一个文本文档叫做一个hello.t我里边写一个ABABC,我这一保存它就是一个纯文本,怎么区分,你要看里边它能不能保存纯文本以外的,能不能保存图片啊,能不能给自己设置颜色,能不能给自己设置大小啊,如果都不能,那它就是一个纯文本啊,就是一个纯文本,好,那这个是我们说的一个纯文本,那还有什么呢?还有一个叫做副文本,副文本就很明显了,副文本中可以保存我们这个字体的什么呀,哎,这种什么呀,哎,保存我们这个,诶文本以外的这个内容啊,文本以外的内容像什么字体呀,颜色呀,图片,那最典型的副文本就是我们这个word一个文档,最典型的就是word文档,所以这里要区分两个概念,一个叫纯文本,一个叫副文本。纯文本只能存内容,只能存文本,而副文本它可以存很多很多东西,存图纸。
03:38
件啊,存个动画呀,我存个视频呀,想存什么就存什么,这是副文本,那我们说我们在去开发程序的时候,我们要用的是哪种呢?我们要用的是我们的纯文本啊,所以注意我们在开发时哎,编写程序使用的全都是我们这个纯文本啊,使用的全都是纯本,这里边一定要注意我们使用的全都是纯文本,也就是说我们会不会用word写程序啊,哎,不会,除非你有特殊的癖好,要不然就是你疯了,你用word写程序,一般情况下我们是不会用那种东西去写的,我们全都是用什么呀,纯文本来编写我们的代码啊,一定注意我们写程序的时候用的是纯文本啊,就是文本,那纯文本还有什么这个特点呢?啊,纯文本还有什么特点呢?那我们说了所有的内容。
04:38
在计算机底层都会转换成二进制去保存,所以其实同样我们的纯文本的内容在计算机的底层是不是也得转换成二进制去保存呀,哎,也得转成二进制保存,所以这里边我们就要说一下了,我们的除文本有它的有它的这个什么呀,叫做一个字符编码啊,字润码,那这里边注意了我们的,哎同样我们的这个纯文本在我们这个计算机底层,诶也会转换为叫做一个二进制保存啊,也会转换成二进制保存,但是这里边就会有一个问题了,什么问题呀,比如说我这有一个中字,我这个中字保存成二进制,是保存成10101呢,还是要保存成1010呢?他是不是要遵守一定的规则呀,哎,他要遵守一定的规则。
05:38
那这个规则我们叫什么呢?我们称它为字符集啊,称它为字符集,那这里边注意了,我们来说一下将我们这个字符转换为二进制编码,二进制编码的过程啊,二进制码吧,二进制码的这个过程,哎,我们称为叫做这个编码,我们称为编码什么意思呀,把这个中编成0101,这就叫做一个编码啊,一个编码,那好反过来将我们这个二进制码转换为什么呀?诶字符的这个过程。
06:26
哎,我们称为叫做一个解码啊,解码就是说反过来是吧,诶中转换成0101,那就是这个编码,哎,而0101转换成这个中就相当于什么呀,解码这个你可以参考一下,如果你看过这个这种谍战片的话,我们这个中共地下工作者是吧,我们都要发电报,发电报是不是就滴滴滴滴滴滴摁去呀,摁的时候实际上就是把这个字都转换成对应的编码,然后去发出去,发出去以后我那块接收电报,我是不是得把这个编码转换成我这个字啊,这就叫做一个解码啊,所以注意编码还有解码,那注意了我们的什么呢?编码和解码十所采用的规则。
07:13
哎,我们什么呢?我们称为叫做字符集啊,一定注意,就跟我们看这个电视,看这个点点片一样,我们这个编码和解码,我们这个B下党,我们是不是都有这个密码本啊,哎,我们得根据这个密码本去编码,去解码,而这个东西在我们的字符,在我们的这个计算机里也是要用到的,这个东西我们就称为什么呀,字符集啊字符集,那这里边我们简单了解一下啊,在什么呢?哎,在我们的这个,或者这么说吧,我们直接列一下我们的这个常见的字符集啊,常见字符集列举一下,我们计算机中,我们经常去看到一些字数集,比如说我们列一下有什么呢?有这个叫做一个ask to啊ask to啊asci啊,然后还有什么呢?还有我们叫做一个ISO8859杠幺,诶ISO8859杠幺,还有什么呢?还有我们的这个GB2312,还有我们的GBK,还有我们的这个UN扣啊UN扣这么几种常见的字符集,我们来简单的去介绍一下啊,简单介绍一下先说这个ask two ask two呢,这个东西是美国人的编码,诶美国人编码他使用什么呀?诶他使用了这个叫做一个诶七位,诶来对我们这个,诶对美国。
08:46
哎,常用的这个字符进行编码什么意思?呃,Ask斯克顿呢,是最早的是美国人发明的,他是干嘛的呢?他是用七位,什么叫七位,我们说了一个一,一个零,是不是就是一位啊,所以七位就是他这个编码一共是七个一七个零啊,一共是七个一七个零,那也就是说他用七个一七个零这种方式不同的组合一共多少呢?一共有128种,所以在2TWO里边就有128个编码啊,128个编码,那美国人一看,128 128,我这个美国这个英文字母一共是26,英文字母大小写加一块儿是52个,对吧,再把我各种各样乱七八糟的符号加一块儿,128个正好了,所以它就用七位来表示它了啊,所以注意阿克度是最小的,只有七位啊,只有七位,那再往下进一步是。
09:46
我们这个ISO8859杠幺,这是我们这个欧洲的编码,欧洲的编码它使用什么呢?使用八位,使用八位,也就是说他这个比美国人多了一位,为什么要多一位啊,因为欧欧洲文的语言是不是比美国人更复杂一点啊,它会多一些字母啊,多些符号等等一系列的,所以它比美国人多了一位,变成了八位,多了一位就是增加了一倍,所以这里边一共有什么呀?256个字符啊,一共有256个字符,所以这块我们来说一下,这个是包含128个字符,而ISO是包含我们叫做256个字符啊,256个字符,然后这个GB还有GB2312,那注意了,像这两种编码就是我们这个欧美的国家的人去用的,那你想想这个东西到了我们中国够不够用啊,很明显不够用,我中国我来个百家姓就100个呢,对吧,而这里边只有一百二百二百五十六个。
10:46
很明显到了中国是不够用的,你不不用说到中国,你到一些什么什么埃及啊,什么什么各种各样的这个国家,它实际上就已经不够用了,所以各个国家还要对这些编码进行扩充,也就是说阿斯克度到了埃及,埃及人要对他扩充,到了日本,日本要对他扩充,到了中国,中国人也要对他进行扩充,而到了中国,我们的这就是什么呀,GB2312,还有GBK,这都是我们的国标码,国标码那像这种GB呀,就是什么意思呀,就是国标的拼音,就是国标的拼音,所以这个是我们这个什么呀,诶中国的这个编码,它里边会把我们这个中国的文字编进去,就是说你用它就可以来表示中文了啊,表示中文了,但是这两个的中文也并不是那么的全,也就是它只包含我们常用的中文,一些特殊的中文在里面是没有的,所以你想想在以前的时候,其实诶,我们去办身份证啊,如何如何,它里。
11:46
但你文你名字里包含一些生僻字,它是打不出来的,它只能用去用手写啊,用手写,这就是我们这个GB2312G BK的一些缺点,它的内容呢,并不完全啊,并不完全好,那这是我们说现有的一些编码,阿斯是美国的,这是我们这个欧洲的,这是我们这个中国的,但是实际上都会有一些问题,如果你纯u s to,那对不起,别的国家都不能用了,你用这个GP2312在中国是好使了,但是假如说你的项目挪到了这个什么呀,挪到了这个外国,外国想用你的项目能不能用啊,不能用了,因为什么外国他不认这玩意儿啊,不认这个GBL,你中国的国标,我外国凭什么认,对吧?所以这些编码都很好用,但是它并不能完成去兼容我们所有的需求,那于是我们就出来,你什么呀,叫做unicode unicode我们又叫什么呢?叫做一个万国码,万国码它几乎包含了,不是几乎啊,它就。
12:46
是包含了我们这个世界上所有的,哎,所有的语言和这个什么呀,符号啊,所有的语言和符号,也就是说它是最全的,它包含了所有的语言和符号,你所有的语言和符号在它里面都能找到,以前在说这句话的时候我还不信是吧,直到我真正的去看到了unix的编码表,我们可以简单看一下啊,这东西我们就了解一下。
13:12
哎,那这个就是一个UN变码表,你直接一打开,首先我们看到这块我直接往下调了,这是不是我们的这个中文呀?哎,当然你这块随便找一下,你会发现,你看看到了吗?它里边会包含各种各样乱七八糟的符号,诶所以叫做万国码,世界上所有符号都有啊,实际上所有符号都有,所以这里边注意我们要去编代码,如果你希望你的代码在世界上通行,会有一个好的兼容性,那我们用什么呀?哎,我们要用我们这个unicode编码啊,要用UN编码,所以注意我们在什么呢?哎,我们在编写程序时,诶,一般诶都会使用我们这个,哎,Unico的编码啊,UN编码,但是这里边注意我们的unico的编码有多种实现,它是一个标准,但是有多种实现,有什么呀?有UTF杠八有什么呢?UTF-16,还有这个UTF-32啊,有多种实现啊。
14:13
多的实间,那它的什么区别?哎,咱们简单说一嘴啊,UTF32它是固定的,它是使用什么呀?使用这个四位啊,统一使用四位四个字节啊,四个字节来表示这个字符,一个字符它是固定的,而UPF16呢,它是使用二到四个字节来表示,也就说它的是变长的,有可能是两个字节,也有可能是四个字节,这是16,然后UTF杠八呢,也是变长的,它是使用一到五个字节来表示字符,也就说最小可能是一个字节,而最大呢,可能是五个字节,就这么一个区别啊,就这么一个区别,32诶是固定的,哎,66是可变的,二到四的,哎,要不然是二,要么是四,而UTX杠八是变化范围更大,它是从一个字节到五个字节,最小的一个字节,最大是五个字节,那这里边了解一下我们最常用的是什么呢?哎,我们最常用的就是什么呢。
15:13
诶,就是我们这个UTF杠八啊,所以注意以后我们在开发的时候,我们使用的编码字符集都是UTF杠八啊,都是UTF杠八,好,那这里边一定再提一个东西啊,提一个小的问题,我们叫做一个乱码的问题啊,乱码的问题注意了,我们在编写程序时,如果发现我们这个程序或者是我们这个代码,哎,出现这个乱码的情况,那就要干嘛,哎,就要马上去检查我们这个字符集是否正确,什么叫乱码,比如说比如说我们在编码的时候,我们用的是GB2312。编码的时候用的是GB302,然后解码的时候呢,我们用utf杠八,那这时候就乱码了,相当于什么呀,你收到了一个共党发给你的电报,然后呢,你拿国民党那个电码密码本去解,那能解出来吗?诶解不出来,因为那俩东西密码不一样吧,诶密码不一样,同样如果你用GB2312去编码,而用UTF杠八去解码,那这个时候就肯定会出现乱码啊,就肯定会出现乱码,所以这时候你就要去修改字符集了,按照改字符集了,修改字符集我们不同的这个文本编辑器方式也不同,我们遇到这个问题,我们再来去演示它,但是你要注意,出现乱码一定是你的字符机出问题了啊,出问题了好,这也是我们说的一个字符集的问题啊,字符机,还有我们这个文本文件,那注意了以后我们去写代码,我们用的全都是纯文本,我们不会用word去写写代码的,我们用的都是纯文本,那怎么去用纯文本,我们待会再细细的给他。
16:59
到来这里我们先来听一下。
我来说两句