00:02
各位同学大家好,下面呢,我们继续来学习NL中的另外一个对象叉set,在Java中呢,我们使用叉set来表示字符集编码对象,所以咱们下面就来学这个叉set字符集编码对象的使用。那这个对象呢,首先我们先介绍一下在这个对象中有哪些方法,然后咱们最后通过一段代码给各位演示它的的过程。首先我们看一下叉set中,它里边有几个常用的静态方法,我们来看一下啊,第一个方法叫做form form name,通过full name咱能得到叉set的对象,然后里边传你的编码类型,比如说你是U条杠,8JBK等等,然后里边第二个方法叫搜T的map,这个方法可以获取系统支持的所有的这个编证码方式,这是第二个。然后咱看第三个,第三个叫default,它是获取虚拟机默认的变化方式,然后还有最后一个叫supported,它表示判断是否支持该编码方式,比如判断我当前是否支持GK,是否支持条杠八等等,这是里边几个常用的静态方法,各位给他知道一下就可以了,然后一会儿代码中我们会有体现。
01:27
然后这个说完之后再往下看,就是里边这么几个方法。然后这几个方法呢,也是里边超作方法,第一个方法聚作name,获取插塞的对象的编码类型,第二个叫插set eo,然后里边的方法叫newco,它表示获取什么叫做编码器的对象,然后还有下一个叫new decode。这个表示获取解码器对象,就是咱们先编码再解码,用这两对象实现,一个是编码器,一个是解码器,所以这些就是针对插塞的里边常用的几个方法,那咱们下面呢,我们就通过一段代码给各位来演示一下插赛中这么一个操作的过程,那咱们来写一下代码啊。
02:16
首先在里边我先创建一个类,这个类我们就叫插set DEMO。然后创建之后,在里边我们加上这么一个问方法。在问方法中实现里面这个过程,那这里边我先把这个流程给各位写一下,然后咱们再通过流程把代码写一下。首先我们要做的第一步操作,咱肯定先要就是获取一下我们这个叉set的这么一个对象,这肯定先要得到,然后得到之后第二部分,因为咱们要操作中,首先是不是做过编码的,所以第二步呢,咱就获取一下我们里面这个就是编码的这么一个,就是编码器的这么一对象,就是刚才咱们看到里边的这个部分,把编码器的对象给他获取到,这是咱们的第二步操作。
03:11
然后这个做到之后呢,下面呢,咱们做法就是写下第三步,因为咱们都是通过八块缓冲区进行操作的,所以第三步呢,我们就创建一个缓冲区,然后咱们向里边给它,就是给它放一些内容,最终做操作,这是第三步,然后这个做完之后,咱们的第四步就进行咱这个编码的过程,用咱们刚才获取到的编码器对象进行编码过程,这是咱们的前四步先做个编码。然后编码之后第五步不用说了,咱要做什么,是不是要解码啊,那解码的话首先先汇到你那个解码器的。这么一个对象。然后获取之后,下面咱就做这个解码的这么一个过程。
04:01
所以咱们就是按照这个流程,我把代码给个未来快速实验一下,就是演示出来这个插set里边这个基本的流程,包括里边方法的使用,那下面我们来写一下这个代码,首先我们看第一步创建这个对象,那咱怎么做呢?用这个插set。这个里边呢,有个静态方法就叫,然后里边加上你的编码方式,比如说我们是这个UTF杠八加上变化方式。最终返回这么一个叉set对象,这是里边的第一步,创建这个对象。然后创建之后,第二部分呢,咱们来得到一下里面这个编码器对象,那我们用这个插set里面这个方法,这方法叫new ECO,把这个编码器对象我们给它得到,比如说起名叫插set ECO,然后这个做到之后,下面的咱们来建个缓冲区,为了咱后面实现那缓冲区我用这个差类型的这个就是差这个buffer。
05:10
然后再起个名字。叫差八,等于里边这个咱给它分配一个大小,比如咱们来一个1024,这样的话,把这个创建,创建之后向里边给它放一些内容,比如来一个put啊,那我写个内容,我就叫这个at硅谷。上硅谷,把这个内容加进去。加完之后咱们调一下里面这个flick方法,所以现在第三步我们就完成了,那这个完成之后呢,第四步呢,咱们开始做一个编码操作,那我们用这个编码器对象就是叉set以code里边这个方法,这方法就叫E扣的,通过这个buff缓冲区我们来做一个编码。然后编码之后就能让它返回到就咱们这个字节这个buffer啊,我们起个名字叫这个BA buffer。
06:06
所以现在这个我们就是调了方法,做了一个实现,然后里边有异常,咱们把异常给它直接出去。然后这个写完之后呢,这里边啊,我们下面要在里边是不是做个编码呀,编码的话呢,我们怎么做呢?这里边咱们加上一个for循环,通过for循环把里边就是每个这个内容做一个编码,那咱循环加啊,就是I等于零,I小于这个BYB点上limit a加加,然后在里边我们就是给它输出下,看一下它编码之后内容是什么,通过这个。点get方法把它输出,就是这一行代码,就是做了一个编码,然后编码之后呢,它反一个BY8个这么一个字节的这么一个缓冲区,咱们缓冲区里边把那种取道,就看一下编码之后它的内容是什么,那这里边为了明确我加上一个提示写下啊,就是咱们编码之后的这么一个结果是什么,一会儿咱们输出可以看一下,所以现在咱们的第四步就完成了,就做这么一个编码过程。
07:16
然后编码做完之后呢,下面做什么,是不是肯定要解码啊,拿那给他解码下啊,我来写一下,首先这里边我先调列方法立法。咱们做解码,解码的话呢,首先这里边咱需要先创建出来那个解码的那个就是解码器对象,那我们来创建一下啊,我们用这个就是叉set里边有个方法叫这个newcode。这个创建就是一个解码器对象,然后创建之后我们用这个就是解码器,注意别用错啊,抵扣的里面这个方法就叫抵扣的,加上咱们这个字节数组中内容,这里边就完成一个解码这个过程,然后咱给它改个名字啊,比如叫这个叉八分一啊,叫这个名字,然后最终咱们把这内容输出一下,看一下它解码之后这个数据。
08:11
写一下啊,就是写一下我们这个解满之后的这么一个结果。然后下面咱把它直接就。输出小,就用这个差。B1。直接来一个toth瑞啊,把它用to瑞直接输出一下,所以咱们现在就完成了,用这个就是插set进行编码,包括解码这个过程,这个咱们就最终完成了,也就是我们写的一段最基础代码。然后这个写完之后呢,咱们把代码执行一下,看一下它的效果是怎么样的,那现在我们来运行一下啊,大家看啊,首先这里边这是编码之后内容,然后你看这个是不是解码之后的结果。所以现在我们就完成了用叉做编码。
09:03
包括通过做这个解码这个过程。这个代码我们就完成了,然后完成之后呢,给各位可以进一步演示,大家注意啊,我刚才的编码方式用的是不是这个U条杠八呀,咱通过它做编码,做解码,那比如现在啊,我用其他格式进行解码,那这里边中文肯定会有乱码问题,所以咱们来测试一下啊,比如现在我这么来做,给大家进一步写一下啊,咱进入到第七步。比如现在啊,我想使用这个编码啊,咱就用一个JBK的方式吧,用JBK对咱们上面那个内容做一个解码操作,再看它会怎么样,首先我先重新建这么一个叉set这个对象,咱们起名叫叉一,然后里边加个编码,我们就加这个JBK。然后加上之后,下面我们做一个解码的过程,跟上面代码应该说都一样,那咱们快速写下啊,点上这个。
10:05
然后里边我们加上这个就是叉SET1。点上这个里边这个方法啊,那我们来写一下啊,在这里边呢,我们找到它里边有一个方法。咱们来写一下,呃,这应该写错了啊,应该是插set e啊,在它里边有个方法就叫这个抵扣的,咱们传入这个BY8块,然后这里边返回一个值,这个值我们起个名字就叫叉八括二,然后最终把它我们来做一个输出啊,用这个差八括二。点上突死缀,这部分是指的是我们用其他格式的编码进行解码啊,那这里边为了明确我在这个位置也做输出,就咱们使用就是。写下啊。使用其他的编码进行这么一个就是解码的这么一个操作。
11:08
那咱们现在把代码执行,咱们看一下效果是怎么样的,看里面的结果啊,那咱们看一下,首先大家看啊,我最开始编码,然后用解码之后,数据是不对了,但是我用其他编码方式进行解码,你看这里边是不是有乱码问题了,这数据就不对了,因为咱们是utf杠八编码,你要用uf杠八进行解码,如果说你换成别的方式解码,那里面肯定是会有一个乱码问题啊,但是你注意啊,英文不存在乱码,只有咱们中文才有乱码这个问题,所以这时候我们提到的里边的这么一个操作。然后这个说完之后呢,比如说咱们最后呢,我们可以再写的代码,这个代码我就从课件中直接拿过来了,我们看一下啊,就是里边的这个代码。然后这段代码什么意思呢?给大家说一下,比如现在啊,我想获取一下我这个插set所支持的所有字符编码有哪些,在这里边有个方法,这个方法叫available size,用这个方法可以得到所支持的所有字符编码,它返回的是一个M集合,所以在下面把ma集合做了便利,先得到里边的所有的K,然后根据K得到它里面这个Y6值,所以这个我们也做了一个实现,那最后咱来执行一下啊,看里边这个最终的效果是怎么样的。
12:31
那我们来执晓大家看啊,你看最后是不是输出了很多编码,就是叉set,他支持的所有编码应该有这么多,比如说咱找几个各位熟悉的JBK,什么GB23U2等等,是不是熟悉,包括下面比如说有什么U条杠八等等啊,这里边就是有不同的这个编码,包括你看这里边ex杠八等等,所以咱们现在啊,就把这个叉set这个对象给各位做了一个演示,通过这段代码把里边的常用方法,我们应该是都做到了。
我来说两句