为什么编码语言/数据库需要编码和解码?

时间:2013-02-11 22:44:05

标签: encoding language-agnostic

虽然我能够理解维基百科的编码和解码的含义,但我无法理解为什么每种编程语言都需要它们?如果答案与能够从外部源(如数据库)读取数据有关,那么为什么他们中的许多人采用不同的编码方案呢?

E.x。 Python有一个默认的ASCII编码
 Java依赖于底层的O.S,
 DB2数据库具有IBM-1252

2 个答案:

答案 0 :(得分:20)

大多数人都喜欢使用文字。

但是,计算机存储只能使用字节。

编码是将文本转换为字节的过程。

在过去的几十年中,为不同的目的开发了许多不同的编码方案,例如简洁,兼容性或国际化。

今天,一切都应该只使用UTF8。 (遗憾的是,并非一切都还没有)

答案 1 :(得分:3)

程序员和用户以英语或其他人类可读语言的形式与简单的纯文本格式交互,但计算机不知道如何处理它。计算机只能处理字节,因此编码和解码是必要的。

引自http://searchnetworking.techtarget.com/definition/encoding-and-decoding

  

在计算机中,编码是放置序列的过程   字符(字母,数字,标点符号和某些符号)成为一个   高效传输或存储的专用格式。解码是   相反的过程 - 将编码格式转换回来   原始的人物序列。编码和解码用于   数据通信,网络和存储。这个词尤其如此   适用于无线电(无线)通信系统。

     

术语编码和解码通常用于参考   模数转换和数模转换的过程   转换。从这个意义上说,这些术语可以适用于任何形式的数据,   包括文字,图像,音频,视频,多媒体,电脑程序,   或传感器,遥测和控制系统中的信号。编码应该   不要与加密混淆,加密是数据的过程   故意改变以隐瞒其内容。加密可以   完成而不更改内容所在的特定代码,以及   编码可以在不刻意隐藏内容的情况下完成   大多数计算机用于文本文件的代码称为ASCII   (美国信息交换标准代码,发音为   ASK-EE)。 ASCII可以描绘大写和小写字母   字符,数字,标点符号和常用符号。其他   常用代码包括Unicode,BinHex,Uuencode和MIME。在   数据通信,曼彻斯特编码是一种特殊的编码形式   其中二进制数字(位)表示之间的转换   高低逻辑状态。在无线电通信中,有许多编码   存在解码方法,其中一些只能由专门的方法使用   一群人(例如业余无线电操作员)。最老的   所有的代码,最初用于固定电报期间   19世纪,是摩尔斯电码。