gpt4 book ai didi

unicode - UTF-8 编码中是否有未使用的字节?

转载 作者:行者123 更新时间:2023-12-05 01:20:39 24 4
gpt4 key购买 nike

据我所知,UTF-8 是 ascii 的超集,因此包括不用于表示可打印字符的控制字符。

我的问题是:是否有任何字节(在 256 个不同的字节中)未被 UTF-8 编码使用?

我想知道您是否可以将 UTF-8 文本转换/编码为二进制。

这是我的思考过程:

我不知道 utf-8 文本编码是如何工作的以及它如何使用这么多字符(只是它使用多个字节来表示不在 ascii(latin-1??)中的字符)但我知道 ascii 文本是在 utf-8 中有效,所以 control characters (bytes 0-30) utf-8 编码的使用方式没有区别,但它们同时不用于显示字符,对吗??

在 256 个不同的字节中,只有 ~230 个被使用。对于 1000(二进制)长的 unicode 文本,只有 1000^230 个不同的文本?对的

如果是这样,您可以将其转换为小于 1000 字节的二进制数据。

Wolfram alpha:1000 bytes of unicode (assumption unicode only uses 230 of the 256 different bytes) --> 496 bytes

最佳答案

0xF8-0xFF 在 UTF-8 中的任何地方都无效,并且其他一些字节在某些位置无效。

字符的前导字节表示用于对字符进行编码的字节数,每个连续字节的高两个位是10。这样您就可以选择文本中的任何字节并找到包含它的字符的开头。如果您不介意失去这种能力,您当然可以提出更高效的编码。

关于unicode - UTF-8 编码中是否有未使用的字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30025693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com