信息传递、编码和计算机表示(四)

字符集与字符编码详解 概述 首先来说几个概念: 字符:是各种文字和符号的总称,包括国家文字、标点符号、图形符号、数字等。 字符集:是多个字符的集合。常见字符集有:ASCII、GBK、BIG5、Unicode等。 我们知道在计算机的世界里,所有的东西最终都表示为二进制的比特流。一个二进制叫做位,8位成为“字节”,根据计算一个字节一共可组合出256(2的8次方)种不同的状态。 在计算机存储字符时,就需要对字符进行编码,字符... 阅读详情

信息传递、编码和计算机表示(三)中讲述了中文编码。 本篇将说明Unicode编码、Unicode的转换格式(UTF,Unicode Translation Format)以及MBCS

 

 

一、UCS和Unicode

Unicode是基于通用字符集(Universal Character Set)的标准来发展。UCS就是使用多个字节对字符进行统一编码,是的各种语言的各种字符存在于一个编码空间中。其中UCS-2使用2字节进行编码,USC-4使用4字节进行编码。 目前Unicode编码和USC-2编码原理一致。

USC-2,2个字节进行编码,理论上可以对 2^16 = 65536 种字符进行编码。 其中前256(0x0000-0x00FF)个和ASCII(0x00-0xFF)相对应。实际上目前版本的Unicode尚未填充满这16位编码,保留了大量空间作为特殊使用或将来扩展。

USC-4,4个字节进行编码,是一个更大的尚未填充完全的31位字符集,加上恒为0的首位,共需占据32位,即4字节。理论上最多能表示231个字符,完全可以涵盖一切语言所用的符号。

USC-4的4个字节可以表示为 2 ^32 = 2 ^ 16 * 2 ^ 16 = 65536 * (2 ^ 16)。 其中2 ^ 16称为一个平面(Plane),那么USC-4公有65536个平面(Plane)。其中第一个Plane就是USC-2,这占用16位编码的Unicode字符构成基本多文种平面(Basic Multilingual Plane,简称BMP)。

 

USC-2在USC-4中的表示,是高两字节为0。

 

为了使Unicode与已存在和广泛使用的旧有编码互相兼容,尤其是差不多所有电脑系统都支援的基本拉丁字母部分,所以Unicode的首256字符仍旧保留给ISO 8859-1所定义的字符,使既有的西欧语系文字的转换不需特别考量;另方面因相同的原因,Unicode把大量相同的字符重复编到不同的字符码中去,使得旧有纷杂的编码方式得以和Unicode编码间互相直接转换,而不会遗失任何资讯。举例来说,全角格式区段包含了主要的拉丁字母的全角格式,在中文、日文、以及韩文字形当中,这些字符以全角的方式来呈现,而不以常见的半角形式显示,这对竖排文字和等宽排列文字有重要作用。

 

二、Unicode实现方式

Unicode的实现方式不同于编码方式。一个字符的Unicode编码是确定的。但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对Unicode编码的实现方式有所不同。Unicode的实现方式称为Unicode转换格式(Unicode Translation Format,简称为UTF)。

例如,如果一个仅包含基本7位ASCII字符的Unicode文件,如果每个字符都使用2字节的原Unicode编码传输,其第一字节的8位始终为0。这就造成了比较大的浪费。对于这种情况,可以使用UTF-8编码,这是一种变长编码,它将基本7位ASCII字符仍用7位编码表示,占用一个字节(首位补0)。而遇到与其他Unicode字符混合的情况,将按一定算法转换,每个字符使用1-3个字节编码,并利用首位为0或1进行识别。这样对以7位ASCII字符为主的西文文档就大大节省了编码长度(具体方案参见UTF-8)。类似的,对未来会出现的需要4个字节的辅助平面字符和其他UCS-4扩充字符,2字节编码的UTF-16也需要通过一定的算法进行转换。

再如,如果直接使用与Unicode编码一致(仅限于BMP字符)的UTF-16编码,由于每个字符占用了两个字节,在Macintosh (Mac)机和PC机上,对字节顺序的理解是不一致的。这时同一字节流可能会被解释为不同内容,如某字符为十六进制编码4E59,按两个字节拆分为4E和59,在Mac上读取时是从低字节开始,那么在Mac OS会认为此4E59编码为594E,找到的字符为“奎”,而在Windows上从高字节开始读取,则编码为U+4E59的字符为“乙”。就是说在Windows下以UTF-16编码保存一个字符“乙”,在Mac OS里打开会显示成“奎”。此类情况说明UTF-16的编码顺序若不加以人为定义就可能发生混淆,于是在UTF-16编码实现方式中使用了大端序(Big-Endian, 简写为UTF-16 BE)、小端序(Little-Endian,简写为UTF-16 LE)的概念,以及可附加的字节顺序记号解决方案,目前在PC机上的Windows系统和Linux系统对于UTF-16编码默认使用UTF-16 LE。(具体方案参见UTF-16)

此外Unicode的实现方式还包括UTF-7、Punycode、CESU-8、SCSU、UTF-32等,这些实现方式有些仅在一定的国家和地区使用,有些则属于未来的规划方式。目前通用的实现方式是UTF-16小尾序(LE)、UTF-16大尾序(BE)和UTF-8。在微软公司Windows XP操作系统附带的记事本(Notepad)中,“另存为”对话框可以选择的四种编码方式除去非Unicode编码的ANSI(对于英文系统即ASCII编码,中文系统则为GB2312或Big5编码) 外,其余三种为“Unicode”(对应UTF-16 LE)、“Unicode big endian”(对应UTF-16 BE)和“UTF-8”。

目前辅助平面的工作主要集中在第二和第三平面的中日韩统一表意文字中,因此包括GBK、GB18030、Big5等简体中文、繁体中文、日文、韩文以及越南喃字的各种编码与Unicode的协调性被重点关注。考虑到Unicode最终要涵盖所有的字符,从某种意义而言,这些编码方式也可视作Unicode的出现于其之前的既成事实的实现方式,如同ASCII及其扩展Latin-1一样,后两者的字符在16位Unicode编码空间中的编码第一字节各位全为0,第二字节编码与原编码完全一致。但上述东亚语言编码与Unicode编码的对应关系要复杂得多。

 

注:以上部分引用自http://zh.wikipedia.org/zh-cn/Unicode,更多关于Unicode的内容请点击链接查看。

 

三、Unicode和GB2312、GBK、GB18030的关系

Unicode(UCS-2)对汉字和ASCII字符集都使用2字节编码。

GB2312、GBK、GB18030对汉字使用2字节,对ASCII字符集使用1字节。

并且对于同一个汉字,其Unicode编码和GBK编码也不一样。

我们称象GBK这样使用变长字节进行编码的方法叫做MBCS(Muilti-Bytes Charecter Set,多字节字符集),CJK(Chinese,Japane,Korea)使用的都应该是MBCS编码方法。

 

<!-- 以下引用自 http://zh.wikipedia.org/zh-cn/UTF8 -->

四、UTF-8产生原因和编码方法

ASCII转换成UCS-2,在编码前插入一个0x0。用这些编码,会含括一些控制符,比如"或 '/',这在UNIX和一些C函数中,将会产生严重错误。因此可以肯定,UCS-2不适合作为Unicode的外部编码,也因此诞生了UTF-8。

 

UTF-8就是以8位为单元对UCS进行编码,而UTF-8不使用大尾序和小尾序的形式,每个使用UTF-8存储的字符,除了第一个字节外,其余字节的头两个位都是以"10"开始,使文字处理器能够较快地找出每个字符的开始位置。

但为了与以前的ASCII码兼容(ASCII为一个字节),因此UTF-8选择了使用可变长度字节来存储Unicode:

Unicode和UTF-8之间的转换关系表
UCS-4编码UTF-8字节流
U+00000000 – U+0000007F0xxxxxxx
U+00000080 – U+000007FF110xxxxx 10xxxxxx
U+00000800 – U+0000FFFF1110xxxx 10xxxxxx 10xxxxxx
U+00010000 – U+001FFFFF11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
U+00200000 – U+03FFFFFF111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
U+04000000 – U+7FFFFFFF1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

  • 在ASCII码的范围,用一个字节表示,超出ASCII码的范围就用字节表示,这就形成了我们上面看到的UTF-8的表示方法,这様的好处是当UNICODE文件中只有ASCII码时,存储的文件都为一个字节,所以就是普通的ASCII文件无异,读取的时候也是如此,所以能与以前的ASCII文件兼容。
  • 大于ASCII码的,就会由上面的第一字节的前几位表示该unicode字符的长度,比如110xxxxxx前三位的二进制表示告诉我们这是个2BYTE的UNICODE字符;1110xxxx是个三位的UNICODE字符,依此类推;xxx的位置由字符编码数的二进制表示的位填入。越靠右的x具有越少的特殊意义。只用最短的那个足够表达一个字符编码数的多字节串。注意在多字节串中,第一个字节的开头"1"的数目就是整个串中字节的数目。。

ASCII字母继续使用1字节存储,重音文字、希腊字母或西里尔字母等使用2字节来存储,而常用的汉字就要使用3字节。辅助平面字符则使用4字节。

在UTF-8文件的开首,很多时都放置一个U+FEFF字符(UTF-8以EF,BB,BF代表),以显示这个文字文件是以UTF-8编码。

<!-- 引用结束 -->

 

四、MBCS和UTF-8

虽然MBCS和UTF-8都是用变长字节来编码,但是确切的来说MBCS是一种编码方法。 而UTF-8不是。UTF-8只是对定长的Unicode的一种转换格式。MBCS中,中文用2个字节,ASCII字符用1个字节。 UTF-8中,中文用三个字节,ASCII用1个字节。

 

计算机字符编码01--关于文字的基本概念 计算机字符编码 什么是编码,为什么需要编码 编码是为了表示信息,便于编码后的信息跨越时空的传递。举个例子,人类第一次编码实践是通过声音彼此交流,声音发出者把自己的所感,所想,所见通过声音编码传递给其他人。但声音编码方式显然不太好,太远了声音就听不见了。于是人类发明了第二种编码方式——文字,文字成功解决了声音作为信息编码方式时的时空局限性。 划重点:编码是为了信息的传递(突破信息传播的空间局限 阅读详情

相关推荐

四十一:Web传递消息时的编码格式

在Web开发中,数据的编码格式直接关系到数据的传递效率与准确性。常见的编码格式包括URL编码、UTF-8编码、Base64编码、JSON编码和表单数据编码等。每种编码格式有其独特的使用场景,开发者需要根据具体需求选择合适的编码方式,以确保Web应用的顺利运行。随着Web应用的不断发展,理解和掌握这些编码格式,对于处理和交换数据变得尤为重要。在开发过程中,选择合适的编码格式不仅能提高数据传输的效率,还能保障跨平台、跨语言的数据兼容性。

W楠的博客 515

unicode ucs2 utf16 utf8 ansi GBK GB2312 互转 及 渲染

unicode ucs2 utf16 utf8 ansi 编码

qiushangren的专栏 3328

11、一点一点地:探索二进制与信息传递

本博客深入探讨了二进制在信息时代的重要性及其在信息传递、通信和计算机科学中的广泛应用。从基础的二进制位概念到复杂的编码系统,如Morse码、Braille盲文、TCP/IP协议和Huffman编码,文章详细解析了二进制如何通过其简洁性和高效性支持现代信息技术的发展。同时,结合实际应用案例,如Perseverance探测器降落伞上的二进制代码,展示了二进制系统的灵活性与实用性。

u8v9w0x1y的博客 90

编码 区别 由来

10进制,2进制,8进制,16进制 基础 2进制就是每一位用0,1表示; 8进制就是每一位用0,1,2,3,4,5,6,7表示; 16进制就是每一位用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F表示字符和字节的区别 1个字节等于8个bit位,每个bit位又0/1两种状态也就是说一个字节可以表示256个状态,计算机里用字节来作为最基本的存储单位。一般来说,英文状态下一个字母或数字

千越的烂笔头 517

通信小课堂:电报的发明(编码是通信的核心,通信的设施和编码的设计是相匹配的,其功能是将编了码的信息传递出去。)

文字和书写系统的发明,写字的泥板、竹简、纸张和印刷术都是为了信息的传递。当根据常识对经常出现的字母采用较短的编码,对不常见的字母用较长的编码,这样就可以降低编码的整体长度。和惠斯通发明了电报并且最早实现了商业运营,但他们的发明并不方便使用,因此很快被莫尔斯的发明所取代。和数学家高斯合作,也发明了电报类似的装置,并且建立了哥廷根大学和当地天文台的通信。发报员“嘀嘀嗒嗒”地发报,嘀嗒声的不同其实是继电器接触的时间长短不同所造成的。世界上永远不缺乏从0到1的发明,缺乏的是能够走完全程的人(从0到N)。

专注于计算机研发知识和资讯分享 570

如何实现chrome谷歌浏览器多开(独立环境 独立cookie)

由于各种各样的原因,你可能需要在一个电脑登录某个平台,比如一个电脑登录3个公众号,或者3个知乎等等。最简单的方案是,直接安装3个不同的浏览器,比如一个谷歌浏览器,一个火狐浏览器,一个 Edge 浏览器。这个方案也能解决,但如果想多开10个呢?安装10个不同的浏览器也能解决,但感觉这样比较复杂,另外一方面安装太多的应用,会导致电脑卡顿。这里给大家介绍,我在 Win 和 Mac 系统下的躲开解决方案。Win 系统下的解决方案最为简单,原理就是给不同的谷歌浏览器,指向不同的用户存储路径即可。

lzqial1987的专栏 1万+

python ucs-2与ucs-4编码方式判断

以 --enable-unicode=ucs4 编译则: >>> import sys >>> print sys.maxunicode 1114111 以 --enable-unicode=ucs2 编译则: >>> import sys >>> print sys.maxunicode 65535

shuifa2008的专栏 9242

微信小程序中蓝牙打印机中文编码处理:使用iconv-lite库

本文介绍了微信小程序集成蓝牙打印机时中文乱码问题的解决方案。由于打印机通常仅支持GBK/GB2312编码,而小程序使用UTF-8,导致中文显示异常。通过引入轻量级iconv-lite库进行编码转换,可高效解决该问题。文章详细说明了从库安装、编码转换到蓝牙发送的实现步骤,并提供了完整代码示例。关键注意事项包括编码验证、分段发送和兼容性测试。该方法经实际验证,能有效保障中文打印的准确性,适用于零售、物流等场景。

canglingyue的专栏 1308

信息传递、编码和计算机表示(二)

数字计算机的世界就是0和1,所以一切要通过计算机进行计算和表达的信息都必须编码成0、1串。那么计算机中如何表示阿拉伯数字,英文字母、希腊字母、拉丁字母、中文字符、数学符号等呢。下面讲解计算机中如何对这些进行编码,以及现实中编码出现的历史。 按照先后顺序,计算机字符编码先后出现的是 ASCII、Extended ASCII、MBCS编码、UNICODE编码。  一、Standard

FreeWave's space 1811

ROS2机械臂实战:从基础控制到视觉抓取

本文详细介绍了ROS2机械臂从仿真环境搭建到视觉抓取的全流程实战指南。内容涵盖使用Gazebo搭建仿真环境、编写基础控制节点、集成视觉感知进行目标检测与坐标变换,并设计状态机逻辑实现自动化抓取。通过系统集成与联调,帮助开发者掌握ROS2机械臂开发的核心技能。

weixin_29197699的博客 446

在VS2019里把JSBSim飞行模型集成到你的C++项目里(附完整配置流程和常见错误解决)

本文详细介绍了如何在Visual Studio 2019中将JSBSim飞行模型集成到C++项目中,包括环境准备、源码编译、项目配置和常见错误解决方案。通过实战技巧和优化建议,帮助开发者高效实现高精度飞行仿真功能,提升开发效率。

weixin_42620202的博客 413

信息传递、编码和计算机表示(一)

好久不写,哎,总是懒得抽筋。 不过记性又不好,偶尔有点感悟还是写下来吧。。。 开始进入正题 也许最早人类是通过气味、表情、动作、声音来彼此之间传递信息。 这种信息传递是简单的行为,比如两只熊猿之间为了一根香蕉争斗,可以通过表情,面部肌肉,或者肱二头肌等展示比对方强,应该获得香蕉。 或者雄猿为了博得雌猿的欢心,可以送一根香蕉,吼一首歌等等来传达心意。 这是自然界动物传递信息基本的方法了,这种

FreeWave's space 1252

Android Treble 简介

上面两段话来自官网上,Android 8.0 重新设计了 Android 操作系统框架(在一个名为“Treble”的项目中),以便让制造商能够以更低的成本更轻松、更快速地将设备更新到新版 Android 系统。本文主要整理一下Android Treble框架。

私房菜 9272

最新计算机技术信息传递,信息传递技术

[编辑]什么是信息传递技术信息传递技术是通过传输媒介实现信息转移的一种技术,其主要功能是实现信息快速、可靠、安全的转移。在目前的技术条件下,信息传输主要是通过电信网、计算机网、广播电视网等方式来实现的。从发展的角度看,电信网、计算机网、广播电视网呈现出逐渐融合的趋势。[编辑]信息传递技术的构成信息传递技术按网络构成分为:信息传输技术、信息交换技术、信息终端技术和信息传递网络技术等。信息传输是构成信...

weixin_35235724的博客 1679

C语言试题一之计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和

1、题目 计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和 2、源代码实现 #include <stdio.h> #include <math.h> double fun1(int n) { if (n <= 0) return 0; int i; double sum = 0.0; for (i = 1; i <= n;...

码莎拉蒂 1万+

YOLOv8【第一章:基础入门篇·第1节】一文搞定,核心架构深度解析与环境配置!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏,该专栏专注于分享我在YOLOv8目标检测模型中的实战经验,涵盖从入门基础到深度优化的全方位解决方案。无论你是计算机视觉的新手,还是具有多年深度学习经验的专家,本专栏都将为你提供高效、可复现的技术方案,助你掌握YOLOv8的核心技术,提升目标检测性能,突破瓶颈,优化模型,并加速项目开发🚀!

**My Coding Family** 2100

从信息传递的角度来看Android中的广播和Binder

缘起在《关于Android学习的三个终极问题》一文的最后,我曾提到过在看完《信息简史》一书后,顿悟到“开发软件的时候仿佛能看到信息在流动”。《信息简史》是一本非Codin...

Innost的专栏 6134

国科大作业考试资料-人工智能原理与算法-2024新编-第十一次作业整理

1、有一位教授想知道学生是否睡眠充足。每天,教授观察学生在课堂 上是否睡觉,并观察他们是否有红眼。教授获得如下的领域知识: (1)没有观察数据时,学生睡眠充足的先验概率为0.7。 (2)给定学生前一天睡眠充足为条件,学生在晚上睡眠充足的概率是0.8;如果前一天睡眠不充足,则是0.3。 (3)如果学生睡眠充足,则红眼的概率是0.2,否则是0.7。 (4)如果学生睡眠充足,则在课堂上睡觉的概率是0.1,否则是0.3。 将这些信息形式化为一个动态贝叶斯网络,使教授可以使用这个网络从观察序列中进行滤波和预

MatsumotoChrikk 1055

计算机的进制编码,计算机中的进制和编码(转载)

古时候,人们是如何来传递消息的?当年周幽王为博褒妃一笑,不顾众臣反对,竟数次无故点燃边关告急用的烽火台,使各路诸侯,长途跋涉,匆忙赶去救驾。结果,被戏而回。周幽王从此便失信于诸侯,最后,当边关真的告急之时,他点燃烽火却再也没人赶来救他了!不久,便死于刀下,亡了西周。西周第九代国君是周厉王,贪财好色,昏庸残暴,激起了公元前841年的“国人(平民)暴动”。周朝从此衰落下去,社会动荡不安。扯远了,我们说...

weixin_27012835的博客 415

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

计算机中,到底什么是字符编码?

1.到底什么是字符编码? 这个问题其实一直困惑了我很久,虽然做了这么久计算机,但是还是没有理解,今天看了<编码的奥秘>这本书,真是豁然开朗,我们利用计算机到底做什么,存储信息,处理信息,传递信息,但是对于计算机来说,由于底层电路的设计本质,只能是识别0和1两种代码,那么传递的也只能是0和1了,那么,我们想要表达一句话,传递个长点的信息该怎么做呢,我们就思考,我们人类平日里在传递信...

weixin_33895016的博客 881

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

零基础也能懂的计算机原理指南——《编码》第二版实用解析

在信息化高速发展的今天,理解计算机的运行原理已经不再只是程序员的专利。《编码:隐匿在计算机软硬件背后的语言(第2版)》作为计算机入门经典,以清晰、严谨的方式揭示了计算机从底层电路到高级程序的完整工作流程。本文将从三个章节为大家解读这本书的核心价值。

一键难忘的博客 6040

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

图表示学习中的Transformer:Graphormer的突破

人工智能咨询培训老师叶梓 转载标明出处在自然语言处理和计算机视觉等领域,Transformer架构已经成为主导选择。然而,在图级别的预测任务中,它的表现并不如主流的图神经网络(GNN)变体。这一现象引发了一个思考:Transformer是否适合图表示学习,以及如何使其在图表示学习中发挥作用。来自大连理工大学、普林斯顿大学、北京大学和微软亚洲研究院的研究人员共同提出了一种名为Graphormer的新型架构,该架构基于标准的Transformer架构,并在多个图表示学习任务上取得了优异的结果。

人工智能前沿分享 1280

python基础 -13- 字符的编码和编码转换(ASCII,GB2312,GBK,Unicode,UTF)

字符编码 介绍  计算机只认识二进制,生活中的数字要想让计算机理解就必须转换成二进制。十进制到二进制的转换只能解决计算机理解数字的问题,那么文字要怎么让计算机理解呢?  于是我们就选择了一种曲线救国的方式,既然数字可以转换成十进制,我们只要想办法把文字转换成数字,这样文字不就可以表示成二进制了么?  可是文字应该怎么转换成数字呢?就是强制转换啊,简单粗暴呀。 我们自己强行约定了一个表,把文字和数字对应上,这张表就相当于翻译,我们可以拿着一个数字来对比对应表找到相应的文字,反之亦然。 ASCII码  这张表

迷雾总会解 2946

关于计算机编码这篇就够了

1.问题1、什么是位,字节,字符,字符集,字符串?2、为什么一个字节长度表示的范围是[-128,127],为什么不是对称的?3、为什么计算机无法精确表示小数?4、原码,反...

wanshibugong119的专栏 818

计算机编码中进制的区别,计算机中的进制和编码(转载)

古时候,人们是如何来传递消息的?当年周幽王为博褒妃一笑,不顾众臣反对,竟数次无故点燃边关告急用的烽火台,使各路诸侯,长途跋涉,匆忙赶去救驾。结果,被戏而回。周幽王从此便失信于诸侯,最后,当边关真的告急之时,他点燃烽火却再也没人赶来救他了!不久,便死于刀下,亡了西周。西周第九代国君是周厉王,贪财好色,昏庸残暴,激起了公元前841年的“国人(平民)暴动”。周朝从此衰落下去,社会动荡不安。扯远了,我们说...

weixin_42469012的博客 433

《编码.藏匿在计算机软硬件背后的语言》读书笔记01-10

1至亲密友 好朋友远距离交流,使用手电筒开和关传递信息,开关的次数太多,想表达的文字太复杂,难度非常大。 引出莫尔斯电码,使用点和划(短闪和长闪两种形式)通信。 结论: ~编码无处不在,手电筒的闪烁,莫尔斯电码,布莱叶盲文… ~本书中,编码是一种用来在机器和人之间传递信息的方式。 2编码与组合 莫尔斯电码发送简单,但是接收困难,解决方法:通过组合编码构建编码表。 结论: ~码字的数目=2^编码的位数。 3布莱叶盲文与二进制码 布莱叶改进盲人阅读方法,创建了布莱叶盲文,使用2*3的矩阵,利用凸/平点表示信息,

weixin_44620658的博客 275
上一篇: 信息传递、编码和计算机表示(二)
下一篇: VIM的定制
FreeWave
博客等级 码龄19年 9粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值