什么是Unicode?编码是如何工作的?

7
几个小时前,我在阅读一本C编程书。当我读到这些词语——字符编码和Unicode时,我开始在Google上搜索有关Unicode的信息。然后我知道了Unicode字符集包含来自每种语言的每个字符,并且UTF-8、16、32可以对Unicode字符集中列出的字符进行编码。
但是,我无法理解它是如何工作的。 Unicode是否依赖于操作系统? 它与软件和程序有什么关系? UTF-8是安装操作系统时安装在我的计算机上的软件吗? 还是它与硬件有关? 计算机如何对事物进行编码?
我发现这很令人困惑。请详细回答我的问题。我对这些东西很新,所以请在回答时牢记这一点。
谢谢。

http://www.joelonsoftware.com/articles/Unicode.html - SLaks
  1. 阅读 Joel。
  2. 阅读这个:http://utf8everywhere.org
- Pavel Radzivilovsky
1个回答

8

我在《编码和字符集对文本处理的重要性:每个程序员都应该了解的内容》中详细介绍了这个问题。以下是一些要点:

  • 编码很多,编码定义了如何将“字符”(例如“A”)编码为比特和字节
  • 大多数编码仅为少量选定的字符指定此项功能;例如,所有(或至少大部分)用于编写英语或捷克语的字符;单字节编码通常支持最多256个字符的集合
  • Unicode是一个大型标准化努力,已经对每种主要语言中使用的几乎所有字符和符号进行了编目和规定了一种数字⟷字符关系,其中包括成千上万的字符
  • UTF-8、16和32是不同的子标准,用于将这个庞大的数字目录编码为字节,每个标准有不同的大小权衡
  • 软件需要专门支持Unicode及其UTF-*编码,就像它需要支持任何其他类型的专门编码一样;现在大多数工作由操作系统完成,它向应用程序公开支持函数

谢谢,这篇文章比Joel Spolsky的更易懂。 - Sarang Manjrekar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接