Encryption Unicode字符中的字节数始终是1-4,还是可以是不同的长度?

Encryption Unicode字符中的字节数始终是1-4,还是可以是不同的长度?,encryption,unicode,cryptography,Encryption,Unicode,Cryptography,因此,我遇到了一个问题,有人将一些文本编码为Unicode,但在每个Unicode字符的末尾添加了一个数字,以使消息更加安全。问题是,当我尝试解码它时,我无法确定需要删除哪个数字,因为每个Unicode字符的长度可能会有所不同 有人知道Unicode字符最常见的长度是多少吗?请尽量简单地回答,因为我不习惯在加密中使用Unicode 如果您的Unicode是1到4个字节,那么我假设您使用的是UTF-8编码;这当然很常见 UTF-8代码点的长度可以是1、2、3或4个字节,这些字节具有不同的模式以帮助

因此,我遇到了一个问题,有人将一些文本编码为Unicode,但在每个Unicode字符的末尾添加了一个数字,以使消息更加安全。问题是,当我尝试解码它时,我无法确定需要删除哪个数字,因为每个Unicode字符的长度可能会有所不同


有人知道Unicode字符最常见的长度是多少吗?请尽量简单地回答,因为我不习惯在加密中使用Unicode

如果您的Unicode是1到4个字节,那么我假设您使用的是UTF-8编码;这当然很常见

UTF-8代码点的长度可以是1、2、3或4个字节,这些字节具有不同的模式以帮助您识别它们

  • 1字节:0xxxxxxx
  • 2字节:110xxxxx 10xxxxxx
  • 3字节:1110xxxx 10xxxxxx 10xxxxxx
  • 4字节:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
每个字节的前导位告诉您它是什么,是前导字节还是后接字节。前导字节还告诉您预期的后续字节数


因此,如果你找到一个字节:11010110,你就知道它是一个双字节代码点的前导字节。您希望看到后面的一个字节:10xxxxxx,后面是下一个代码点的前导字节。

请参见Wikipedia。Unicode不是字节编码。、,等等,这些是字节编码。给定的Unicode码点(仅是分配给字符/字形的数字)如何映射到字节序列取决于所使用的特定编码。UTF-8使用1、2、3或4字节,具体取决于码点值。UTF-16使用2或4个字节,具体取决于码点值。拉丁语-1仅使用1个字节。没有“Unicode字符的公共长度”。