字符编码——utf8如何处理字符
character encoding - how utf-8 handles charactrers
所以,我知道当我们键入字符时,每个字符都会映射到字符集中的一个数字,然后,该数字会转换为二进制格式,以便计算机可以理解。他们将数字转换为二进制格式(分配了多少位)的方式取决于字符编码。
所以,如果我输入 L,它代表 76。然后 76 被转换为 1 字节二进制格式,因为假设是 UTF-8。
现在,我在某处读到以下内容:
The Devanagari character क, with code point 2325 (which is 915 in
hexadecimal notation), will be represented by two bytes when using the
UTF-16 encoding (09 15), three bytes with UTF-8 (E0 A4 95), or four
bytes with UTF-32 (00 00 09 15).
因此,如您所见,上面写着 three bytes with UTF-8 (E0 A4 95)
。 E0 A4 95字节如何?我问是因为我不知道 E0 A4 95
来自哪里...我们为什么需要这个?如果我们知道代码点是 2325,我们所要做的就是使用 UTF-8,我们知道 utf-8 需要 3 个字节才能将 2325 转换为二进制...为什么我们需要 E0 A4 95
它是什么?
E0 A4 95
是U+0915的3字节UTF-8编码。二进制:
E 0 A 4 9 5 (hex)
11100000 10100100 10010101 (binary)
1110xxxx 10xxxxxx 10xxxxxx (3-byte UTF-8 encoding pattern)
0000 100100 010101 (data bits)
00001001 00010101 (regrouped data bits to 8-bit bytes)
0 9 1 5 (hex)
U+0915 (Unicode code point)
第一个字节的二进制模式1110xxxx
是一个前导字节,表示 3 字节编码和 4 位数据。后续字节以 10xxxxxx
开头,并提供另外 6 位数据。在一个 3 字节的前导字节指示符之后将有两个后续字节。
所以,我知道当我们键入字符时,每个字符都会映射到字符集中的一个数字,然后,该数字会转换为二进制格式,以便计算机可以理解。他们将数字转换为二进制格式(分配了多少位)的方式取决于字符编码。
所以,如果我输入 L,它代表 76。然后 76 被转换为 1 字节二进制格式,因为假设是 UTF-8。
现在,我在某处读到以下内容:
The Devanagari character क, with code point 2325 (which is 915 in hexadecimal notation), will be represented by two bytes when using the UTF-16 encoding (09 15), three bytes with UTF-8 (E0 A4 95), or four bytes with UTF-32 (00 00 09 15).
因此,如您所见,上面写着 three bytes with UTF-8 (E0 A4 95)
。 E0 A4 95字节如何?我问是因为我不知道 E0 A4 95
来自哪里...我们为什么需要这个?如果我们知道代码点是 2325,我们所要做的就是使用 UTF-8,我们知道 utf-8 需要 3 个字节才能将 2325 转换为二进制...为什么我们需要 E0 A4 95
它是什么?
E0 A4 95
是U+0915的3字节UTF-8编码。二进制:
E 0 A 4 9 5 (hex)
11100000 10100100 10010101 (binary)
1110xxxx 10xxxxxx 10xxxxxx (3-byte UTF-8 encoding pattern)
0000 100100 010101 (data bits)
00001001 00010101 (regrouped data bits to 8-bit bytes)
0 9 1 5 (hex)
U+0915 (Unicode code point)
第一个字节的二进制模式1110xxxx
是一个前导字节,表示 3 字节编码和 4 位数据。后续字节以 10xxxxxx
开头,并提供另外 6 位数据。在一个 3 字节的前导字节指示符之后将有两个后续字节。