Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
两个字节的unicode字母是个神话?_Unicode_Encoding - Fatal编程技术网

两个字节的unicode字母是个神话?

两个字节的unicode字母是个神话?,unicode,encoding,Unicode,Encoding,我读过一篇关于文本编码的文章。它指的是说一个unicode字母是两个字节是一个神话。 这说明我的英语不好,无法理解其中的原因 好心的是,这里的任何人都可以解释这一事实,如果它是真的,原因是什么?请尽量使用简单的英语。根据unicode格式和您希望表示的字符,它可能需要更多或更少。每个字符最多4个字节: 字符编码标准不仅定义每个字符的标识 字符和它的数值,或者代码点,又是怎么回事呢 值以位表示 Unicode标准定义了三种允许相同编码的编码形式 以字节、字或双字定向格式传输的数据 (即,每个代码单

我读过一篇关于文本编码的文章。它指的是说一个unicode字母是两个字节是一个神话。 这说明我的英语不好,无法理解其中的原因


好心的是,这里的任何人都可以解释这一事实,如果它是真的,原因是什么?请尽量使用简单的英语。

根据unicode格式和您希望表示的字符,它可能需要更多或更少。每个字符最多4个字节:

字符编码标准不仅定义每个字符的标识 字符和它的数值,或者代码点,又是怎么回事呢 值以位表示

Unicode标准定义了三种允许相同编码的编码形式 以字节、字或双字定向格式传输的数据 (即,每个代码单元8、16或32位)。所有三种编码形式 对相同的通用字符集进行编码,并且可以有效地 相互转换而不丢失数据。Unicode 联合体完全同意使用这些编码形式中的任何一种作为 实现Unicode标准的一致方式

UTF-8在HTML和类似协议中很流行。UTF-8是一种 将所有Unicode字符转换为的可变长度编码 字节。它具有Unicode字符对应的优点 对于熟悉的ASCII集合,其字节值与ASCII相同,并且 转换为UTF-8的Unicode字符可用于多种用途 没有大量软件重写的现有软件

UTF-16在许多需要平衡效率的环境中很流行 以经济的存储方式访问字符。这是合理的 紧凑,所有频繁使用的字符都可以放入一个16位 代码单元,而所有其他字符都可以通过 16位代码单元

UTF-32在无需考虑内存空间但固定宽度的情况下非常有用, 需要单个代码单元访问字符。每个Unicode 使用UTF-32时,字符以单个32位代码单元进行编码

所有三种编码形式最多需要4个字节(或32位)的数据来进行编码 每个字符


请参见

它可能需要更多,也可能需要更少,这取决于unicode格式和您希望表示的字符。每个字符最多4个字节:

字符编码标准不仅定义每个字符的标识 字符和它的数值,或者代码点,又是怎么回事呢 值以位表示

Unicode标准定义了三种允许相同编码的编码形式 以字节、字或双字定向格式传输的数据 (即,每个代码单元8、16或32位)。所有三种编码形式 对相同的通用字符集进行编码,并且可以有效地 相互转换而不丢失数据。Unicode 联合体完全同意使用这些编码形式中的任何一种作为 实现Unicode标准的一致方式

UTF-8在HTML和类似协议中很流行。UTF-8是一种 将所有Unicode字符转换为的可变长度编码 字节。它具有Unicode字符对应的优点 对于熟悉的ASCII集合,其字节值与ASCII相同,并且 转换为UTF-8的Unicode字符可用于多种用途 没有大量软件重写的现有软件

UTF-16在许多需要平衡效率的环境中很流行 以经济的存储方式访问字符。这是合理的 紧凑,所有频繁使用的字符都可以放入一个16位 代码单元,而所有其他字符都可以通过 16位代码单元

UTF-32在无需考虑内存空间但固定宽度的情况下非常有用, 需要单个代码单元访问字符。每个Unicode 使用UTF-32时,字符以单个32位代码单元进行编码

所有三种编码形式最多需要4个字节(或32位)的数据来进行编码 每个字符


参见

Windows和许多传统应用程序传统上使用16位(两个字节)来表示unicode字符,但实际标准是21位(0x000000到0x10ffff)。这就是为什么有这么多不同的编码(UTF-8等等)。如今,程序中最常见的unicode字符内部表示应该是UTF-32(32位,4字节),而大多数字符都以UTF-8格式存储在磁盘上


有关不同unicode编码方案的更多信息,请参阅这篇维基百科文章:

Windows和许多传统应用程序传统上使用16位(两个字节)来表示unicode字符,但实际的标准是21位(0x000000到0x10ffff)。这就是为什么有这么多不同的编码(UTF-8等等)。如今,程序中最常见的unicode字符内部表示应该是UTF-32(32位,4字节),而大多数字符都以UTF-8格式存储在磁盘上


有关不同unicode编码方案的更多信息,请参阅这篇维基百科文章:

我非常确定这适用于任何超过256个字母的字母表。我非常确定这适用于任何超过256个字母的字母表。IIRC UCS-2是Windows和Java在内部使用的编码,是一个固定的2字节表示法。自Windows 2000以来,Windows使用UTF-16而不是UCS-2。IIRC UCS-2是Windows和Java内部用于命名一对夫妇的编码,是固定的2字节表示法。自Windows 2000以来,Windows使用UTF-16而不是UCS-2。旧Windows版本使用UCS-2,它只支持前65535个Unicode码点。现代版本使用UTF-16,它仍然使用16位代码单元,并与UCS-2向后兼容,但可以表示Unicode定义的每个21位代码点。旧Windows版本使用UCS-2,它只支持前65535个Unicode代码点。现代版本