什么是Unicode?以及编码如何工作?

时间:2013-07-07 12:31:01

标签: unicode encoding utf-8 character-encoding character

在我阅读c编程书之前几个小时。在我读这本书时,我遇到了这些词,字符编码和Unicode。然后我开始谷歌搜索有关Unicode的信息。然后我才知道Unicode字符集包含来自每种语言的每个字符, UTF-8 ,16,32可以编码 unicode 字符集中列出的字符。

但我无法理解它是如何工作的。
unicode取决于操作系统吗?
它与软件和程序有什么关系?
当我安装操作系统时,UTF-8是否是安装在我的计算机上的软件?
或者它与硬件有关?
以及计算机如何编码这些东西?

我发现它太混乱了。请详细回答我。 我是这些东西的新手,所以在你给我答案时请记住这一点。

谢谢。

1 个答案:

答案 0 :(得分:6)

我在What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text中广泛地写过这篇文章。这里有一些亮点:

  • 编码很多,编码定义“A”这样的“字符”如何编码作为位和字节
  • 大多数编码仅为少数选定字符指定此项;例如,写英文或捷克语所需的所有(或至少大多数)字符;单字节编码通常支持最多256个字符的集合
  • Unicode是一项大型标准工作,已对所使用的每种主要语言的几乎所有字符和符号进行了编目并指定了多个⟷字符关系,这是数十万个字符
  • UTF-8,16和32是如何将这个巨大的数字目录编码为字节的不同子标准,每个字节具有不同的大小权衡
  • 软件需要专门支持Unicode及其UTF- *编码,就像它需要支持任何其他类型的专用编码一样;如今,大部分工作都是由操作系统完成的,它将支持功能暴露给应用程序