UTF8 中的字节顺序

问题描述 投票:0回答:1

我在其他地方读过一个关于为什么字节顺序在 utf-8 中不重要的问题。

对我来说,tldr;这并不重要,因为 utf-8 强制您将相同的数字写入内存,这些数字是代码的每个字节。


我想出了这个:

某些字符可能具有代码

11100010 10000010 10101100
,并且在任何计算机中都会以相同的方式表示,这是因为 utf8 指示如何对字符进行编码。

这些字节中的每一个都将被一一读取(如解码过程所示。),因此,再一次,没有歧义。

当第一个字节以

111
开头时,他们必须搜索 3 个字节,然后用它来查找/检索字符串。这就是读取多字节字符的方式。

这是正确的解释吗?如果您不同意,为什么以及正确的理由是什么?

text unicode binary-data
1个回答
0
投票

我不太明白你要问的问题,所以这可能不是你正在寻找的答案。

仅当您处理大于单个字节的整数原语时,字节顺序才重要。例如,如果您将数字 5 存储为 16 位值,那么它自然会存储为

00000000 00000101

在大端(例如 ARM)硬件上。而在小端(例如 x86)硬件上,它将存储为

00000101 00000000

由于 UTF-8 完全由字节流组成,因此从不考虑字节顺序。是的,有些代码点需要多个字节来表示,但这些代码点的读写仍然需要一次一个字节地完成。这些字节的顺序已明确定义,硬件的字节顺序并不重要。

© www.soinside.com 2019 - 2024. All rights reserved.