济南Java培训
达内济南山大路中心

17343065216

热门课程

字符集编码ASCII,Unicode和UTF-8你知多少?(上)

  • 时间:2018-09-06
  • 发布:济南java培训
  • 来源:济南java培训

    对字符集编码ASCII,Unicode和UTF-8你知道多少?这一篇文章将让你彻底了解字符集编码.济南java培训的我介绍了ASCII,Unicode 和 UTF-8编码的问题和转换还有实例分析.
    我们知道,计算机内部,所有信息最终都是一个二进制值.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte).也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111.
    上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定.这被称为 ASCII 码,一直沿用至今.
    ASCII 码一共规定了128个字符的编码,比如空格SPACE是32(二进制00100000),大写的字母A是65(二进制01000001).这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的一位统一规定为0.
    一直你们会问,说代数差的应该学编程吗?相信大多数人都是这样类型的疑义,解释这类疑义以前,对各位可以认识一份数学题:两地相距250米.霍茂勋从A地以1米每秒的速度向B地走,蓬胤文从B地以每秒1米的速度向a走.
    请问:她们多久后遇到?遇到的地儿离B地有多远?这是一道简单中学数学题,济南Java培训告诉我们,但对于代数不好的人,或许要很想好多时间.但老实说编程说不必要你把汇总结果写出来,你需求重视他的行动思维就行.
    你让我,要用编程来去掉上的疑义,你只需求留神个相对简单的代数外延︰即加、减、乘、除和求余就行,老实说和会背配方有像.大多数人没掌握编程的人,都认为代数不好,无法成为程序猿.老实说代数跟编程的相关应该整理为:精代数者,难免会编程,不精晓代数,也能掌握编程,如欲精编程,必精代数,若已精晓代数者,学编程不难也.

    因此,代数不好也同样是应该学编程,但会比代数好的人难,要有很大的毅力,一般是要多去成长本人的行动和分解战斗力.

济南java培训

    二、非 ASCII 编码
    英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的.比如,在法语中,字母上方有注音符号,它就无法用 ASCII 码表示.于是,一些欧洲国家就决定,利用字节中闲置的最高位编入新的符号.比如,法语中的é的编码为130(二进制10000010).这样一来,这些欧洲国家使用的编码体系,可以表示最多256个符号.
    但是,这里又出现了新的问题.不同的国家有不同的字母,因此,哪怕它们都使用256个符号的编码方式,代表的字母却不一样.比如,130在法语编码中代表了é,在希伯来语编码中却代表了字母Gimel (?),在俄语编码中又会代表另一个符号.但是不管怎样,所有这些编码方式中,0--127表示的符号是一样的,不一样的只是128--255的这一段.
    至于亚洲国家的文字,使用的符号就更多了,汉字就多达10万左右.一个字节只能表示256种符号,肯定是不够的,就必须使用多个字节表达一个符号.比如,简体中文常见的编码方式是 GB2312,使用两个字节表示一个汉字,所以理论上最多可以表示 256 x 256 = 65536 个符号.
    中文编码的问题需要专文讨论,这篇笔记不涉及.这里只指出,虽然都是用多个字节表示一个符号,但是GB类的汉字编码与后文的 Unicode 和 UTF-8 是毫无关系的.
    三. Unicode
    正如上一节所说,世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号.因此,要想打开一个文本文件,就必须知道它的编码方式,否则用错误的编码方式解读,就会出现乱码.为什么电子邮件常常出现乱码?就是因为发信人和收信人使用的编码方式不一样.
    可以想象,如果有一种编码,将世界上所有的符号都纳入其中.每一个符号都给予一个独一无二的编码,那么乱码问题就会消失.这就是 Unicode,就像它的名字都表示的,这是一种所有符号的编码.
    以上就是济南java培训给大家做的内容详解,更多关于java知识的学习,请继续关注济南java培训
上一篇:docker中执行指定脚本-济南Java培训
下一篇:字符集编码ASCII,Unicode和UTF-8你知多少?(中)

马上预约七天免费体验课

姓名:

电话:

达内教育集团荣获360公司“2018年度教育品牌影响力机构”大奖

达内教育与美国Code Combat合作,推动中国IT培训的国际化发展

严正声明:达内“先就业后付款”业务真实存在,不存在欺诈

达内携手衢州学院成立“TI联盟”,培养多元化IT人才!

选择城市和中心
贵州省

广西省

海南省

达内教育

有位老师想和您聊一聊