【知识点随笔分享 | 第二篇】众多的字符集

这篇具有很好参考价值的文章主要介绍了【知识点随笔分享 | 第二篇】众多的字符集。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【知识点随笔分享 | 第二篇】众多的字符集,【知识点随笔分分享】,学习,华为,华为云,harmonyos,面试

目录

前言:

字符与字符集:

字符集编码的发展(时间顺序):

总结:


前言:

         你是否有好奇过文字是怎么在电脑中显示出来的?为什么我们通过输入法就可以输入想要得到的文字?为什么我们粘贴有些网站的文字,复制到自己的电脑上就成乱码?为什么我们有的时候打开编译器之后,里面的注释成了乱码?这一切都和字符集有关,因此我们今天来为大家讲解一下字符集编码。

字符与字符集:

                人类世界有海量的文字,这些文字可以被刻在石头上,墙壁上,竹筒上。这一个个符号都是字符,很遗憾这些文字计算机都读不懂,而我们把字符组成的集合就叫做字符集在以前的几十年内,大家都在搜寻一个方法让计算机可以识字,而计算机是0和1的世界,因此我们想出了一个办法:用一个特定的二进制数字代表一个特定的字符。这样不就实现了字符在计算机中的表示,字符集编码应运而生!

【知识点随笔分享 | 第二篇】众多的字符集,【知识点随笔分分享】,学习,华为,华为云,harmonyos,面试

字符集编码的发展(时间顺序):

           ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是最早的字符集编码方案之一,它定义了一组128个字符及其对应的7位二进制编码。ASCII字符集包含了英文字母(大写和小写)、数字、标点符号、控制字符(例如换行符、回车符)和一些特殊符号(例如美元符号、百分号等)。

ASCII表展示:

【知识点随笔分享 | 第二篇】众多的字符集,【知识点随笔分分享】,学习,华为,华为云,harmonyos,面试

 众所周知计算机存储数据的基本单位是字节,而一个字节由八个二进制位组成,也就是八个比特(bit),每个比特有0 和 1 两种状态,因此一个字节一共有 256 种不同的二进制状态,也就是最多可以存储256个不同的字符。

而随着各国都逐渐进入信息化时代,这128个字符显然不够用了,一个字节有256种状态,而初代的ASCII码只占用了128种状态,因此西欧的国家联合起来,搞了EASCII码。

        EASCII(Extended AS而CII)概念涌现于计算机发展的早期,旨在为ASCII字符集增加更多的字符和符号,超出了原始的128个字符。EASCII对ASCII字符集进行了自定义的扩展,使它能够适应更多地国际字符需求和特殊用途。

扩展字符通常包括特殊符号、非拉丁字符、货币符号、辅助标点符号以及其他语言的字母、符号和标点符号等。扩展ASCII字符集的具体范围和定义不是标准化的,因此可能会因不同的计算机系统和编码方案而有所不同。

【知识点随笔分享 | 第二篇】众多的字符集,【知识点随笔分分享】,学习,华为,华为云,harmonyos,面试

而正如我们前面说到的:扩展ASCII字符集的具体范围和定义不是标准化的,因此可能会因不同的计算机系统和编码方案而有所不同。此时各国都制定了自己的扩展ASCII字符集,都有自己独特的后128位表示,一共搞出了两百多种扩展ASCII表,此时字符集编码迎来了一个混乱的纪元:一个二进制数字在不同的字符集编码中对应的字符也不同,哪怕是同一份文本,放到不同的计算机中打开,显示的内容也可能不同。

这种混乱的纪元一直持续到 中日韩 进入信息化时代迎来爆发

原因很简单:这三个国家的字实在是太多了,一个字节的256种状态已经无法满足人们的正常需求了

我们以中国做简单的例子讲解:

1980年中国统计的常用汉字为6763个汉字,因此我们推出了我们自己的字符集:

GB2312-80

        GB2312-80是中华人民共和国国家标准GB 2312-1980的简称。它是一种汉字字符集编码方式,由6763个常用汉字和682个非汉字符号组成,共计7445个字符。GB2312-80取代了GB2312-80之前使用的GB2312-80编码,成为计算机上最常用的中文字符集之一。它以双字节编码形式表示汉字,每个汉字由一个区号和一个位号组成。GB2312-80的字符编码范围被广泛应用于计算机系统、操作系统、数据库、通信协议等领域,为中文信息处理提供了基础支持。

正是因为我们的汉字字符集太多,因此使用了两个字节的空间,这也就是为什么中文的","要比英文的”,“看起来更加宽的原因。

  GB2312-80截选展示

【知识点随笔分享 | 第二篇】众多的字符集,【知识点随笔分分享】,学习,华为,华为云,harmonyos,面试

 而此时虽然我们有了自己的字符集,但是仍然无法满足日常的需求,因此会出现一些地区上户口的时候,因为名字中含有生僻字,电脑识别不了打不出来而被迫改名的情况。【知识点随笔分享 | 第二篇】众多的字符集,【知识点随笔分分享】,学习,华为,华为云,harmonyos,面试

而随着中日韩三国对于字符集编码的疯狂扩展,微软也开始重视起来了这个问题。最终推出了:

GB2312

而我们国家对此再做了优化,补充了一些繁体字后,推出了汉字内码扩展规范:GBK 

GBK(Guojia Biaozhun Kuozhan,国家标准扩展)是在GB2312的基础上进行扩展而来的字符集编码方案。GBK于1995年发布,使用双字节编码,但扩展了GB2312中未包含的很多生僻字和繁体字,以及包括繁体字在内的其他语种的字符。

【知识点随笔分享 | 第二篇】众多的字符集,【知识点随笔分分享】,学习,华为,华为云,harmonyos,面试

因此,可以说GBK是GB2312的一个扩展版本,它在GB2312的基础上增加了更多的字符,使得可以更好地满足多种语言的需求。

需要注意的是,尽管GB2312和GBK都是被广泛用于简体中文编码的字符集,但它们并不兼容于Unicode或UTF-8等国际化的字符集编码方案。为了更好地支持多语言和国际化,后来出现了更先进的字符集编码方案,如GB18030。

而进行到这里,海量的字符集编码为人类计算机交流带来的苦难,已经让人叫苦不得,因此建立一个统一的字符集编码变成了众望所归。

🌍UNICODE(万国码) 

UNICODE(万国码)是一种用于表示世界上几乎所有字符的字符集编码方案。它的目标是为所有的书写系统和符号提供一个统一的编码标准,以便在计算机系统中进行交换、存储和处理。

它的优势在于统一了字符的编码方案,使得不同语言、不同符号可以在同一个系统上相互兼容。UNICODE使用了32位的编码空间,可以表示超过100万个不同的字符。

最常见的UNICODE编码方案是UTF-8(Unicode Transformation Format 8-bit),它是一种可变长度的编码方式,可以使用1至4个字节来表示不同的字符。UTF-8通过自适应字节序列来支持各种语言和字符,因此在互联网和计算机系统中得到广泛应用。

除了UTF-8,还有其他的UNICODE编码方案,如UTF-16和UTF-32,它们使用固定长度的编码方式,分别使用16位和32位来表示字符。这些编码方案主要用于特定领域或特殊需求中。

万国码节选图片:

【知识点随笔分享 | 第二篇】众多的字符集,【知识点随笔分分享】,学习,华为,华为云,harmonyos,面试

而万国码的收录方式也埋下了一个很大的坑,甚至到现在还在被别有用心的人利用的案例。但在这里我们不做介绍,感兴趣的人可以自行了解。

而现在有的软件还在默认使用GBK编码,当我们尝试用这个软件打开一个使用UNICODE编码的字符集的时候,自然就会出现乱码。

而字符集发展到UNICODE阶段,基本上痛点问题已经被解决,而随着越来越多的软件适配UNICODE,我们的字符乱码事件也会越来越少。

关于字符集的介绍就到这里了。

那么回到开头那个问题:为什么你从某些网站上面复制的文字,粘贴下来就成了乱码呢?

答案呼之欲出,其实就是这个网站设计了自己的一套字符编码,例如他们的”对“字所对应的编码,实际上在你的字符集编码中对应的是“颢”字,而这样大量的文字粘贴,也就成了一大堆乱码。

总结:

        本文我们为大家介绍了计算机中的一个趣味知识:字符集编码。我们很幸运没有经历过那个字符表编码混战的年代。讲解字符码发展的历史,我们一路从字符码的初代ASCII一直讲到今天广泛应用的UNICODE,不知道你在使用这些字符编码的时候,是否也会想到人类为此付出的努力呢?

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!

【知识点随笔分享 | 第二篇】众多的字符集,【知识点随笔分分享】,学习,华为,华为云,harmonyos,面试文章来源地址https://www.toymoban.com/news/detail-621653.html

到了这里,关于【知识点随笔分享 | 第二篇】众多的字符集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kafka 知识点学习【Kafka 学习之24问-第二十四刊】

    🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论⭐收藏 Kafka知识专栏学习 Kafka知识云集 访问地址 备注 Kafka知识点(1) https://blog.csdn.net/m

    2024年02月05日
    浏览(42)
  • 《Windows核心编程》若干知识点应用实战分享

    目录 1、进程的虚拟内存分区与小于0x10000的小地址内存区 1.1、进程的虚拟内存分区 1.2、小于0x10000的小地址内存区 2、保存线程上下文的CONTEXT结构体 3、从汇编代码角度去理解多线程运行过程的典型实例 4、调用TerminateThread强制结束线程会导致线程中的资源没有释放的问题 5、

    2024年01月22日
    浏览(47)
  • 《Windows核心编程》若干知识点实战应用分享

    目录 1、进程的虚拟内存分区与小于0x10000的小地址内存区 1.1、进程的虚拟内存分区 1.2、小于0x10000的小地址内存区 2、保存线程上下文的CONTEXT结构体 3、从汇编代码角度去理解多线程运行过程的典型实例 4、调用TerminateThread强制结束线程会导致线程中的资源没有释放的问题 5、

    2024年01月25日
    浏览(44)
  • 分享刷题的一些小知识点--4.9日

    1.string库提供了 、、==、=、=、!= 等比较运算符,比如两个字符串s和t,直接(s==t)是正确的。 2.unordered_map 容器,直译过来就是\\\"无序 map 容器\\\"的意思。所谓“无序”,指的是 unordered_map 容器不会像 map 容器那样对存储的数据进行排序。换句话说,unordered_map 容器和 map 容器仅有

    2023年04月11日
    浏览(44)
  • Python入门知识点分享——(十六)标准库的导入和调用

    在正式学习面向对象编程之前,我们先讲一下怎么在代码中导入并调用现成的模组,也就是Python中的标准库。像我们之前介绍过的os模块就是其中之一,下面我将为大家分别介绍几个常用的标准库。 math 模块提供了许多对浮点数的数学运算函数,该模块下的函数返回值均为浮

    2024年01月17日
    浏览(39)
  • CTF-XXE(持续更新,欢迎分享更多相关知识点的题目)

    进来看到 然后一起看 Write 进来看到 一起看 write 反正是XXE 直接整 write 不整花里胡哨,解题在最下面 write 与博主不同,我通过下面的语句得到了三个地址,其中两个通过c段扫描可以直接出来flag。 flag出来了,输入平台却不对

    2024年02月11日
    浏览(40)
  • 【Vue前端】vue使用笔记0基础到高手第2篇:Vue进阶知识点介绍(附代码,已分享)

    本系列文章md笔记(已分享)主要讨论vue相关知识。Vue.js是前端三大新框架:Angular.js、React.js、Vue.js之一,Vue.js目前的使用和关注程度在三大框架中稍微胜出,并且它的热度还在递增。Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API。Vue.js是一个构建

    2024年02月19日
    浏览(41)
  • Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(项目演示、涉及知识点、源码分享)

    1、前言 如果你对 vue3.x 的基础知识还很陌生,推荐先去学习一下 vue 基础 内容 参考链接 Vue2.x全家桶 Vue2.x全家桶参考链接 Vue3.x知识一览 Vue3.x重点知识参考链接 如果你 刚学完 vue3 , 想检查一下自己的学习成果 如果你 已学完 vue3 , 想快速回顾复习所学知识 如果你 已精通

    2024年01月18日
    浏览(46)
  • 数据恢复软件分享(第二篇)

    在之前与大家分享了10款免费好用的数据恢复软件,得到了很多小伙伴的热烈反馈,其中也有很多宝贵建议,鉴于有好东西第一时间与大家分享的原则,这次在总结大家反馈的基础上又推荐了十款好用的数据恢复软件,在分析它们各自特点之后,在公众号工具窗口提供了这1

    2024年02月07日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包