For faster navigation, this Iframe is preloading the Wikiwand page for 代码.

代码

此條目没有列出任何参考或来源。 (2017年6月18日)維基百科所有的內容都應該可供查證。请协助補充可靠来源改善这篇条目。无法查证的內容可能會因為異議提出而被移除。
代码
上级分类記號、​規則為基礎的系統 编辑
用途資料轉換 编辑
莫尔斯电码是一种著名的代码

通信資訊處理中,代码code)是指一套转换信息的规则系统,例如将一个字母單詞、声音、图像或手势转换为另一种形式或表达,有时还会缩短加密以便通过某种信道或存储媒体通信。一个最早的例子是語言的发明,它使人可以通过说话将他看到、听到、感受到或想到的事情表达给其他人。但是,说话的通信范围局限于声音可以有效传播、辨识的范围,并且发言只能传达给现有的听众。将言谈转化为视觉符号寫作扩大了跨越时间空间的通信表达。代码有时亦称代号等。

而编码(encoding)能将源头英语Communication source的信息转化为便于通信或存储的符号。解码(Decoding)则是将其逆向还原的过程,将代码符号转化回收件人可以理解的形式。

编码的其中一个原因是在平实语言英语Plain language、口语或写作难以实现实现的情况下进行通信。例如,旗语可以用特定标记表达特定信息,站在远处的另一个人可以解读标识来重现该信息。

理论

[编辑]

信息论计算机科学中,代码通常被认为是一个独特的从一个源字母表表示成符号的算法,通过编码的字符串,这些字符串可能在一些其他的目标字母表中。通过连接编码字符串获得在源字母表上表示符号序列的扩展代码。

在给出一个数学上精确的定义之前,这是一个简短的例子。映射

是一个代码,其源字母表是集合 ,其目标字母表是集合 。使用扩展代码,编码后的字符串0011001可以被分组成代码字0 011 0 01,这些代码又可以解码为源符号序列 acab

使用形式语言理论中的术语,这个概念的精确数学定义如下:让 S 和 T 是两个有限集,分别称为源字母表和目标字母表代码 是将每个符号从 S 映射到 T 上的符号序列总函数 的扩展 同态,它自然地把每个源符号的序列映射到目标符号序列。

可变长度编码

[编辑]

在本节中,我们考虑从某个字典中的代码字英语code word对每个源(明文)字符进行编码的代码,这些代码字的连接为我们提供了已编码的字符串。当明文字符具有不同的概率时,可变长度代码特别有用;另见熵编码

前缀代码是具有“前缀属性”的代码:系统中不存在作为集合中任何其他有效代码字的前缀(开始)的有效代码字。霍夫曼编码是最知名的用于导出前缀码的算法。即使代码不是由霍夫曼算法产生的,前缀代码也被广泛称为“霍夫曼代码”。前缀代码的其他示例是国家呼叫代码ISBN 的国家和出版商部分,以及 UMTS WCDMA 3G 无线标准中使用的辅助同步代码。

卡夫不等式给出了前缀码中可能存在的码字长度集。实际上,任何唯一可解码的一对多代码,不一定是前缀代码,都必须满足卡夫不等式。

错误纠正编码

[编辑]

代码也可用于以更耐受传输或存储错误的方式表示数据。 这种所谓的纠错码通过在存储(或传输)的数据中包含精心设计的冗余来工作。 示例包括汉明码里德-所罗门码里德-穆勒码英语Reed–Muller code哈达码代码英语Hadamard codeBCH码涡轮码二进制戈莱码英语Binary Golay codeGoppa码英语Goppa code低密度奇偶检查码时空码英语Space–time code。 可以优化错误检测代码以检测突发错误随机错误

例子

[编辑]

沟通中为简洁使用的代码

[编辑]

字符编码

[编辑]

目前最广为人知并被使用的数据通信代码(也称字符表示)是ASCII。 它用7比特二进制数字表示128个字符——即由7个为1或0的位元组成。还有许多其他编码用一个字节表示每个字符(通常被称为代码页), 整数码位 (Unicode)或者一个字节序列(UTF-8).

遗传密码

[编辑]

哥德尔代码

[编辑]

数学中,哥德尔代码哥德尔不完备定理的基础。其中的想法是将數學符號映射到一个自然数 (使用一个哥德尔数)。

其他

[编辑]

密码学

[编辑]

其他例子

[编辑]

编码的其他例子包括:

  • 编码 (認知中) 是解释传入刺激的基本感知过程; 从技术上讲,它是一个复杂的、多阶段的过程,将相对客观的感官输入(如光、声)转化为主观上有意义的体验。
  • 内容格式英语content format 是一种为了将一种特定类型的数据转换成信息的特定编码格式。
  • 文本编码使用置标语言来标记结构和其他文字的特性以方便计算机处理。(另见文本编码规范。)
  • 正式语言 A 的语义编码英语Semantics encoding非正式语言 B 是一种使用语言 B 表示语言 A 的所有术语(例如程序或描述)的方法。
  • 数据压缩,将信号转换为针对传输存储优化的代码,通常使用编解码器完成。
  • 神经编码是信息在神经元中表达的方式。
  • 记忆编码英语Encoding (memory),将感觉转化为记忆的过程。
  • 电视编码NTSC, PALSECAM

解码的其他例子包括:

代码与首字母缩略词

[编辑]

首字母縮略字和缩写可以认为是一种代码,并且某种意义上所有語言和书写系统都是人类思维的代码。

参见

[编辑]

参考资料

[编辑]
{{bottomLinkPreText}} {{bottomLinkText}}
代码
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?