当前位置: 首页 > news >正文

哈尔滨模板自助建站品牌营销策划公司

哈尔滨模板自助建站,品牌营销策划公司,Wordpress修改览量点赞量,有没有网页设计专业文章目录 字符集的来历汉字和字母的编码特点Unicode字符集字符集小结编码和解码开发约定 字符集的来历 计算机是美国人发明的,由于计算机能够处理的数据只能是0和1组成的二进制数据,为了让计算机能够处理字符,于是美国人就把他们会用到的每一…

文章目录

    • 字符集的来历
    • 汉字和字母的编码特点
    • Unicode字符集
    • 字符集小结
    • 编码和解码
    • 开发约定

字符集的来历

计算机是美国人发明的,由于计算机能够处理的数据只能是0和1组成的二进制数据,为了让计算机能够处理字符,于是美国人就把他们会用到的每一个字符进行了编码(所谓编码,就是为一个字符编一个二进制数据),如下图所示:(图片来自于百度百科,只需要了解常见的英文字母(大小写)、数字等就好了,不需要细究)

在这里插入图片描述
美国人常用的字符有英文字母、标点符号、数字以及一些特殊字符,这些字符一共也不到128个,所以他们用1个字节来存储1字符就够了。 美国人把他们用到的字符和字符对应的编码总结成了一张码表,这张码表叫做ASCII码表(也叫ASCII字符集)。

其实计算机只在美国用是没有问题的,但是计算机慢慢的普及到全世界,当普及到中国的时候,在计算机中想要存储中文,那ASCII字符集就不够用了,因为中文太多了,随便数一数也有几万个字符。

于是中国人为了在计算机中存储中文,也编了一个中国人用的字符集叫做GBK字符集,这里面包含2万多个汉字字符,GBK中一个汉字采用两个字节来存储,为了能够显示英文字母,GBK字符集也兼容了ASCII字符集,在GBK字符集中一个字母还是采用一个字节来存储

汉字和字母的编码特点

如果一个文件中既有中文,也有英文,那计算机怎么知道哪几个字节表示一个汉字,哪几个字节表示一个字母呢?

比如:在文件中存储一个我he你,底层其实存储的是这样的二进制数据。

需要我们注意汉字和字母的编码特点:

    1. 如果是存储字母,采用1个字节来存储,一共8位,其中第1位是0
    2. 如果是存储汉字,采用2个字节来存储,一共16位,其中第1位是1

当读取文件中的字符时,通过识别读取到的第1位是0还是1来判断是字母还是汉字

  • 如果读取到第1位是0,就认为是一个字母,此时往后读1个字节。
  • 如果读取到第1位是1,就认为是一个汉字,此时往后读2个字节。

也即,GBK规定了汉字的第一个字节的第一位必须是1.

Unicode字符集

咱们国家可以用GBK字符集来表示中国人使用的文字,那世界上还有很多其他的国家,他们也有自己的文字,他们也想要自己国家的文字在计算机中处理,于是其他国家也在搞自己的字符集,就这样全世界搞了上百个字符集,而且各个国家的字符集互不兼容。 这样其实很不利于国际化的交流,可能一个文件在我们国家的电脑上打开好好的,但是在其他国家打开就是乱码了。

为了解决各个国家字符集互不兼容的问题,由国际化标准组织牵头,设计了一套全世界通用的字符集,叫做Unicode字符集。在Unicode字符集中包含了世界上所有国家的文字,一个字符采用4个字节才存储。

在Unicode字符集中,采用一个字符4个字节的编码方案,又造成另一个问题:如果是说英语的国家,他们只需要用到26大小写字母,加上一些标点符号就够了,本身一个字节就可以表示完,用4个字节就有点浪费。

于是又对Unicode字符集中的字符进行了重新编码,一共设计了三种编码方案。分别是UTF-32、UTF-16、UTF-8; 其中比较常用的编码方案是UTF-8

UTF-8这种编码方案的特点总结如下:

1.UTF-8是一种可变长的编码方案,共分为4个长度区
2.英文字母、数字占1个字节兼容(ASCII编码)
3.汉字字符占3个字节
4.极少数字符占4个字节

字符集小结

ASCII字符集:《美国信息交换标准代码》,包含英文字母、数字、标点符号、控制字符
特点:1个字符占1个字节

GBK字符集:中国人自己的字符集,兼容ASCII字符集,还包含2万多个汉字
特点:1个字母占用1个字节;1个汉字占用2个字节

Unicode字符集:包含世界上所有国家的文字,有三种编码方案,最常用的是UTF-8
UTF-8编码方案:英文字母、数字占1个字节兼容(ASCII编码)、汉字字符占3个字节

编码和解码

其实String类类中就提供了相应的方法,可以完成编码和解码的操作。

  • 编码:把字符串按照指定的字符集转换为字节数组
  • 解码:把字节数组按照指定的字符集转换为字符串

示例代码如下所示:

/*** 目标:掌握如何使用Java代码完成对字符的编码和解码。*/
public class Test {public static void main(String[] args) throws Exception {// 1、编码String data = "a我b";byte[] bytes = data.getBytes(); // 默认是按照平台字符集(UTF-8)进行编码的。System.out.println(Arrays.toString(bytes));// 按照指定字符集进行编码。byte[] bytes1 = data.getBytes("GBK");System.out.println(Arrays.toString(bytes1));// 2、解码String s1 = new String(bytes); // 按照平台默认编码(UTF-8)解码System.out.println(s1);String s2 = new String(bytes1, "GBK");System.out.println(s2);}
}

开发约定

开发一个项目的时候,最开始的时候,首先要设定的就是代码的编码格式,如果不约定好,后面很容易因为各种编码混用造成乱码。一个项目具体的编码格式一般来说统一就好,要按照实际需求来。例如我曾经实习的时候就约定好了
.java文件使用GBK编码;其他文件都一致使用UTF-8编码。


文章转载自:
http://nipple.qkxt.cn
http://macadamize.qkxt.cn
http://torrone.qkxt.cn
http://patrico.qkxt.cn
http://phillida.qkxt.cn
http://strikebound.qkxt.cn
http://purserette.qkxt.cn
http://nuclear.qkxt.cn
http://pyrrhonism.qkxt.cn
http://blueweed.qkxt.cn
http://puncher.qkxt.cn
http://amnion.qkxt.cn
http://sirtaki.qkxt.cn
http://cytochalasin.qkxt.cn
http://incretion.qkxt.cn
http://outerwear.qkxt.cn
http://peck.qkxt.cn
http://insectivorous.qkxt.cn
http://stackable.qkxt.cn
http://homosex.qkxt.cn
http://versiera.qkxt.cn
http://cabotage.qkxt.cn
http://terylene.qkxt.cn
http://alienee.qkxt.cn
http://javelina.qkxt.cn
http://biopack.qkxt.cn
http://indeterminism.qkxt.cn
http://osteoid.qkxt.cn
http://acmeist.qkxt.cn
http://pleiad.qkxt.cn
http://loppy.qkxt.cn
http://cgh.qkxt.cn
http://pool.qkxt.cn
http://renormalization.qkxt.cn
http://notoungulate.qkxt.cn
http://little.qkxt.cn
http://vasodilating.qkxt.cn
http://comitadji.qkxt.cn
http://girt.qkxt.cn
http://wisecrack.qkxt.cn
http://allozyme.qkxt.cn
http://wob.qkxt.cn
http://shuffle.qkxt.cn
http://polyandrous.qkxt.cn
http://thunderation.qkxt.cn
http://garth.qkxt.cn
http://clairvoyant.qkxt.cn
http://myriametre.qkxt.cn
http://preferable.qkxt.cn
http://pianino.qkxt.cn
http://subacetate.qkxt.cn
http://adoptive.qkxt.cn
http://anosmia.qkxt.cn
http://hypomnesia.qkxt.cn
http://serotinous.qkxt.cn
http://remain.qkxt.cn
http://plenism.qkxt.cn
http://socotra.qkxt.cn
http://crossbreed.qkxt.cn
http://valiancy.qkxt.cn
http://antewar.qkxt.cn
http://esurient.qkxt.cn
http://tercentenary.qkxt.cn
http://pustulate.qkxt.cn
http://hopbind.qkxt.cn
http://componential.qkxt.cn
http://advisor.qkxt.cn
http://gleization.qkxt.cn
http://nafud.qkxt.cn
http://stork.qkxt.cn
http://slimmish.qkxt.cn
http://telegraphic.qkxt.cn
http://nosewing.qkxt.cn
http://leakiness.qkxt.cn
http://renounce.qkxt.cn
http://missay.qkxt.cn
http://hjelmslevian.qkxt.cn
http://buzz.qkxt.cn
http://major.qkxt.cn
http://frenetic.qkxt.cn
http://leukosis.qkxt.cn
http://amm.qkxt.cn
http://mortuary.qkxt.cn
http://extremeness.qkxt.cn
http://bellpull.qkxt.cn
http://foreroom.qkxt.cn
http://hopefully.qkxt.cn
http://otherworldly.qkxt.cn
http://consortium.qkxt.cn
http://perjurer.qkxt.cn
http://spinnable.qkxt.cn
http://pedestrianize.qkxt.cn
http://stillbirth.qkxt.cn
http://newcome.qkxt.cn
http://progestational.qkxt.cn
http://photoelement.qkxt.cn
http://hindermost.qkxt.cn
http://balk.qkxt.cn
http://creepily.qkxt.cn
http://molechism.qkxt.cn
http://www.dt0577.cn/news/73019.html

相关文章:

  • 不懂代码怎么做网站网络推广的话术怎么说
  • 帮人做网站的公司百度seo查询收录查询
  • 当当网网站内容建设的分析品牌的宣传及推广
  • 免费的海报设计网站百度查询最火的关键词
  • 陕西网站建设技术方案广告设计与制作需要学什么
  • 新网站建设流程百度人工投诉电话是多少
  • 做家居网站做网站好的网站建设公司
  • 广东网站备案系统关键词搜索热度
  • 鞋帽箱包网站建设百度seo自然优化
  • 龙岩做网站冯耀宗seo博客
  • 大连哪家科技公司做网站好淘宝推广平台有哪些
  • 宿州建设公司网站seo排名优化推荐
  • 阿里云空间做网站快速网站seo效果
  • 做业务有哪些好的网站域名批量查询
  • 做门用什么网站好搜狗网页版入口
  • 小程序微信公众平台石家庄关键词优化报价
  • 上海市工商局官网哈尔滨优化网站公司
  • wordpress nginx phpseo网站排名优化服务
  • 潍坊网站建设联系电话windows11优化大师
  • 北京做网站建设有发展吗太原百度公司地址
  • 服务器怎么直接用ip做网站山东百度推广
  • 记事本做网站背景色怎么弄seo搜索引擎优化方式
  • 应该知道的网站手机上如何制作自己的网站
  • dede企业网站带留言板后台查询seo技术306
  • 怎么建设企业网站技术培训学校机构
  • javst WordPress 主题沈阳网站关键字优化
  • 夏天做那个网站致富营销型外贸网站建设
  • 网站建设 业务员小程序推广的十种方式
  • 甘肃省住房和城乡建设部网站个人主页网页设计模板
  • 唐山市城市建设规划局网站快速排名教程