Encoding 为什么任何编程语言/数据库都需要编码和解码?

Encoding 为什么任何编程语言/数据库都需要编码和解码?,encoding,language-agnostic,Encoding,Language Agnostic,虽然我能够理解维基百科中编码和解码的含义,但我无法理解为什么每种编程语言都需要它们?如果答案与能够从外部数据源(如数据库)读取数据有关,那么为什么它们中的许多采用不同的编码方案 E.x.Python具有默认的ASCII编码 Java依赖于底层的O.S, DB2数据库有IBM-1252,大多数人喜欢使用文本 但是,计算机存储只能使用字节 编码是将文本转换为字节的过程 在过去的几十年中,为了不同的目的开发了许多不同的编码方案,例如简洁性、兼容性或国际化 今天,一切都应该使用UTF8。(遗憾的是,并不

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

E.x.Python具有默认的ASCII编码
Java依赖于底层的O.S,

DB2数据库有IBM-1252,大多数人喜欢使用文本

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

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

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


今天,一切都应该使用UTF8。(遗憾的是,并不是所有的东西都能做到)

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

引自:

在计算机中,编码是将一个序列 将字符(字母、数字、标点符号和某些符号)转换为 高效传输或存储的专用格式。解码是 相反的过程——将编码格式转换回 原始字符序列。编码和解码都是在计算机中使用的 数据通信、网络和存储。这个词特别重要 适用于无线电(无线)通信系统

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


+1因为任何东西都应该简单地使用UTF8(你听到了吗,雷蒙德?没有人再想要steenkin的古老DOS代码页了。)请注意,编码/解码也可以从一个二进制文件转换为另一个二进制文件(mp3、mpeg4等)。@Pithikos:这是一种不同的编码形式。