首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么是通信中的编码和解码?

什么是通信中的编码和解码?
EN

Stack Overflow用户
提问于 2010-03-15 18:14:05
回答 3查看 10.4K关注 0票数 1

有没有人可以帮我转到一些关于通信中的编码和解码以及不同的编码技术(unicode,base64,utf7)等方面的参考资料?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-03-15 18:16:49

Wikipedia总是一个好的开始。

然后就是Joel Spolsky's article: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)了。

请注意,您命名的这三个东西在不同的层次上运行。

  • Unicode是一个字符集:字符和数字(代码点)之间的映射。
  • UTF7在代码点和字节之间映射。
  • base64在字节和字节之间映射。(它会损坏字节,以便用ASCII码范围内的字节表示它们。)
票数 2
EN

Stack Overflow用户

发布于 2010-03-15 18:28:38

编码和解码的定义有些主观。

两者都是音译的形式,是从一种字母表转换为另一种字母表的过程。ASCII码到UTF8,ASCII码到base64,等等都是这样的例子。

两者的不同之处在于,在将可用格式音译为某种传输格式或中间格式时,通常会使用“编码”,而解码则相反。这就是“主观”部分的用武之地。根据上下文,可以将ASCII到UTF8视为编码或解码。

像base64这样的其他格式几乎普遍用于传输(例如电子邮件中的二进制数据),因此转换为它们几乎普遍称为“编码”,转换为“解码”。

重要的一点是,像ASCII或UTF8这样的东西在任何情况下都不是神奇的。所有这些格式都只是将信息一致编码成二进制格式。所以ASCII 65是'A‘,这就是标准。

Unicode格式变得更加有趣,因为它们区分了代码点和编码。Unicode定义了每个字符的代码点。对于每种编码格式,二进制数据是不同的。例如,请参见Unicode Character 'EURO-CURRENCY SIGN' (U+20A0)以查看一个代码点的所有不同二进制值。

票数 1
EN

Stack Overflow用户

发布于 2010-03-15 18:28:02

关于你的unicode,base64,utf7 (没人用,可能是utf8)。它们不仅仅是“编码和解码”,而是文本数据的编码和解码。

Unicode是枚举所有真实字符和可能字符的方式。它与编码本身没有任何关系。UTFXX是unicode的编码集(将代码转换为实际的字节)。最受欢迎的是UTF8和UTF16。UTF8基本上是兼容ASCII码的(代码小于128的字符表示方式与ASCII码相同),但其他字符用2-3个字节表示。UTF16将大部分字符编码为2个字节。

Base64对文本数据一无所知。它将通用二进制数据编码为包含64个可打印ascii字符的文本。它通常用于通过电子邮件传输二进制数据、UTF8和UTF16。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2446296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档