【发布时间】:2013-02-11 22:44:04
【问题描述】:
虽然我能够从维基百科理解编码和解码的含义,但我无法理解为什么每种编程语言都需要它们?如果答案与能够从数据库等外部源读取数据有关,那么为什么其中许多采用不同的编码方案?
例如Python 有一个默认的 ASCII 编码
Java 依赖底层操作系统,
DB2 数据库有 IBM-1252
【问题讨论】:
标签: encoding language-agnostic
虽然我能够从维基百科理解编码和解码的含义,但我无法理解为什么每种编程语言都需要它们?如果答案与能够从数据库等外部源读取数据有关,那么为什么其中许多采用不同的编码方案?
例如Python 有一个默认的 ASCII 编码
Java 依赖底层操作系统,
DB2 数据库有 IBM-1252
【问题讨论】:
标签: encoding language-agnostic
大多数人喜欢使用文本。
但是,计算机存储只能使用字节。
编码是将文本转换为字节的过程。
在过去的几十年里,已经为不同的目的开发了许多不同的编码方案,例如简洁、兼容性或国际化。
今天,一切都应该简单地使用 UTF8。 (遗憾的是,并非一切都如此)
【讨论】:
程序员和用户以英语或其他人类可读语言的形式与简单的纯文本格式进行交互,但计算机不知道如何处理。计算机只能处理字节,因此编码和解码是必要的。
引自http://searchnetworking.techtarget.com/definition/encoding-and-decoding:
在计算机中,编码是将一系列 字符(字母、数字、标点符号和某些符号)转换为 用于高效传输或存储的专用格式。解码是 相反的过程——将编码格式转换回 字符的原始序列。编码和解码用于 数据通信、网络和存储。这个词特别 适用于无线电(无线)通信系统。
编码和解码这两个术语通常用于指代 模数转换和数模转换过程 转换。从这个意义上说,这些术语可以适用于任何形式的数据, 包括文本、图像、音频、视频、多媒体、计算机程序、 或传感器、遥测和控制系统中的信号。编码应该 不要与加密相混淆,加密是一个数据被加密的过程 故意更改以隐藏其内容。加密可以 在不更改内容所在的特定代码的情况下完成,并且 无需刻意隐藏内容即可进行编码。
大多数计算机用于文本文件的代码称为 ASCII (美国信息交换标准代码,发音为 问-ee)。 ASCII可以描述大写和小写字母 字符、数字、标点符号和常用符号。其他 常用的编码有Unicode、BinHex、Uuencode、MIME。在 数据通信中,曼彻斯特编码是一种特殊的编码形式 其中二进制数字(位)表示之间的转换 高和低逻辑状态。在无线电通信中,许多编码 和解码方法存在,其中一些仅由专业人士使用 一群人(例如业余无线电操作员)。最老的 所有人的代码,最初在固定电话电报中使用 19世纪,是摩尔斯电码。
【讨论】: