unicode字符编码说明

为了使计算机能够存储人类能够理解的文本和数字,需要有一种将字符转换为数字的代码。Unicode标准通过使用字符编码来定义这样的代码。...

为了使计算机能够存储人类能够理解的文本和数字,需要有一种将字符转换为数字的代码。Unicode标准通过使用字符编码来定义这样的代码。

A person using a laptop

字符编码之所以如此重要,是因为每个设备都可以显示相同的信息。自定义字符编码方案可能在一台计算机上运行良好,但如果您将相同的文本发送给其他人,则会出现问题。除非它也理解编码方案,否则它不会知道你在说什么。

字符编码

字符编码所做的就是为每个可以使用的字符分配一个数字。您可以立即进行字符编码。

例如,我可以说字母A变成数字13,A=14,1=33,#=123,等等。

这就是行业标准的用武之地。如果整个计算机行业使用相同的字符编码方案,那么每台计算机都可以显示相同的字符。

什么是统一码(unicode)?

ASCII(美国信息交换标准代码)成为第一个广泛使用的编码方案。但是,它仅限于128个字符的定义。对于最常见的英语字符、数字和标点符号来说,这很好,但对于世界其他地方来说,这有点限制。

当然,世界上其他国家也希望他们的字符采用相同的编码方案。但是,有一段时间,根据您所在的位置,同一ASCII代码可能会显示不同的字符。

最后,世界其他地区开始创建自己的编码方案,事情开始变得有点混乱。不仅是不同长度的编码方案,程序还需要确定应该使用哪种编码方案。

很明显,在创建Unicode标准时,需要一种新的字符编码方案。Unicode的目标是统一所有不同的编码方案,以便尽可能限制计算机之间的混淆。

如今,Unicode标准定义了超过128000个字符的值,可以在Unicode联盟中看到。它有几种字符编码形式:

  • UTF-8:仅使用一个字节(8位)对英文字符进行编码。它可以使用字节序列对其他字符进行编码。UTF-8广泛应用于电子邮件系统和互联网。
  • UTF-16:使用两个字节(16位)对最常用的字符进行编码。如果需要,附加字符可以由一对16位数字表示。
  • UTF-32:使用四个字节(32位)对字符进行编码。很明显,随着Unicode标准的发展,16位数字太小,无法代表所有字符。UTF-32能够将每个Unicode字符表示为一个数字。

注:UTF表示Unicode转换单元。

代码点

代码点是Unicode标准中给定的字符值。根据Unicode的值被写为十六进制数,前缀为U+。

例如,要对我们前面看到的字符进行编码:

  • A是U+0041
  • a是U+0061
  • 1是U+0031
  • #是U+0023吗

这些代码点分为17个不同的部分,称为平面,由数字0到16标识。每架飞机拥有65536个代码点。第一个平面0包含最常用的字符,称为基本多语言平面(BMP)。

代码单位

编码方案由代码单元组成,用于为字符在平面上的位置提供索引。

以UTF 16为例。每个16位数字都是一个代码单元。代码单元可以转换为代码点。例如,平面注释符号♭ 代码点为U+1D160,位于Unicode标准的第二个平面(补充表意平面)。它将使用16位代码单元U+D834和U+DD60的组合进行编码。

对于BMP,代码点和代码单位的值是相同的。这为UTF-16提供了一个快捷方式,可以节省大量存储空间。它只需要使用一个16位数字来表示这些字符。

java如何使用unicode?

Java是在Unicode标准为更小的字符集定义值时创建的。当时,人们认为16位足以编码所有需要的字符。考虑到这一点,Java被设计为使用UTF-16。char数据类型最初用于表示16位Unicode代码点。

自JavaSEV5.0以来,字符代表一个代码单元。它对于表示基本多语言平面中的字符没有什么区别,因为代码单元的值与代码点相同。但是,这确实意味着对于其他平面上的角色,需要两个字符。

需要记住的重要一点是,单个字符数据类型不能再表示所有Unicode字符。

  • 发表于 2021-09-12 23:37
  • 阅读 ( 186 )
  • 分类:IT

你可能感兴趣的文章

ascii和unicode文本之间有什么区别?

ASCII和Unicode都是指文本的数字表示的标准,特别是组成文本的字符。然而,这两个标准有着显著的不同,许多属性反映了它们各自的创作顺序。 ...

  • 发布于 2021-03-28 12:00
  • 阅读 ( 431 )

电子邮件和表情符号:unicode如何帮助我们在线交流

... 什么是unicode码(unicode)? ...

  • 发布于 2021-03-28 18:08
  • 阅读 ( 271 )

什么是ascii文本?它是如何使用的?

... ASCII得到了极大的扩展,并被Unicode所取代,Unicode是一个更全面、更雄心勃勃的标准,下面将对此进行讨论。2008年,Unicode在网络应用方面超过了ASCII。 ...

  • 发布于 2021-03-29 03:18
  • 阅读 ( 245 )

你怎么做颠倒的文字?

...作。 倒过来的文本实际上只是一种技巧,它使用特殊的Unicode符号,看起来像是倒过来的字母,尽管它们实际上并没有倒过来。用正确的倒过来的字母替换普通的字母,就好像你在倒过来写一样。 倒置示例 下面是使用Unicode字...

  • 发布于 2021-04-08 12:25
  • 阅读 ( 198 )

什么是字符编码像ansi和unicode,他们有什么不同?

...所取代,其中包括像欧元符号这样的更新字形。 (藏文Unicode v4节选自unicode.org) Unicode–此编码标准旨在实现通用性。它目前包括93个脚本组织在几个街区,与更多的工作。Unicode的工作原理与其他字符集不同,它不是直接为字...

  • 发布于 2021-04-09 01:48
  • 阅读 ( 249 )

使用自动热键脚本的初学者指南

...是下一步提供了多种选择: 我们建议将其保留为默认的Unicode 32位。如果您运行的是64位版本的Windows,那么您可以选择64位Unicode版本,但对于大多数脚本来说,这并不能带来显著的性能提升。关于ANSI,只有当您知道某个特定的...

  • 发布于 2021-04-13 00:58
  • 阅读 ( 133 )

ansi标准(ansi)和unicode码(unicode)的区别

ANSI与Unicode ANSI和Unicode是两种字符编码,在某一点上被广泛使用。用法也是两者之间的主要区别,因为ANSI非常古老,并且被windows95/98和更旧的操作系统使用,而Unicode是一种更新的编码,目前所有的操作系统都使用它。ANSI有许...

  • 发布于 2021-06-23 11:09
  • 阅读 ( 210 )

unicode码(unicode)和ascii码(ascii)的区别

Unicode与ASCII ASCII和Unicode是两个字符编码。基本上,它们是关于如何用二进制表示不同字符的标准,以便在数字媒体中写入、存储、传输和读取。两者之间的主要区别在于它们对字符的编码方式以及各自使用的位数。ASCII最初使...

  • 发布于 2021-06-23 17:58
  • 阅读 ( 173 )

蟒蛇2(python 2)和蟒蛇3(python 3)的区别

...强建议(PEP),以及一些附加功能,如列表理解、增强的Unicode支持、循环检测垃圾收集系统等。随着时间的推移,随着版本2.7的更新,它继续发展,进一步增加了编程语言的功能。 什么是蟒蛇3(python 3)? python3是2008年12月发布...

  • 发布于 2021-06-25 14:59
  • 阅读 ( 218 )

ascii码(ascii)和unicode码(unicode)的区别

ASCII和Unicode的主要区别在于,ASCII表示小写字母(a-z)、大写字母(a-z)、数字(0-9)和标点符号等符号,而Unicode表示英语、阿拉伯语、希腊语等字母、数学符号、历史脚本和表情符号,覆盖的字符比ASCII更广。 ASCII和Unicode是电...

  • 发布于 2021-06-30 21:02
  • 阅读 ( 229 )
lei812
lei812

0 篇文章

相关推荐