unicode - UTF-8:语言使用多少字节来表示可见字符?

标签 unicode utf-8 character byte glyph

关闭。这个问题是off-topic .它目前不接受答案。












想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。

8年前关闭。



Improve this question




是否存在一个表格或类似的东西来显示当编码为 utf8 时不同语言平均需要多少字节来表示可见字符(字形)?

最佳答案

如果你想要一些一般的东西,我认为你应该坚持这个:

  • 英语每个字符占用略多于 1 个字节(偶尔有非 ASCII 字符,通常是标点符号或嵌入文本中的符号)。
  • 大多数使用拉丁字母表的其他语言使用的数字略大于 1,但如果您期望超过 1.5,我会感到惊讶。
  • 使用其他一些脚本(希腊语等)的语言每个字符大约需要 2 个字节。
  • 东亚语言每个字符大约需要 3 个字节(间距、控制字符和嵌入的 ASCII 使其占用更少,非 BMP 使其占用更多)。

  • 这都是非常不完整的、近似的和非定量的。

    如果您需要更定量的东西,我认为您必须单独研究每种语言。我怀疑您会发现已经适用于许多不同语言的预先计算的结果。

    如果您有一种语言的文本语料库,则很容易计算所需的平均字节数。从 Text corpus 开始维基百科页面。它链接到至少一个免费的良好英语语料库,也可能有一些可用于其他语言(我没有通过链接寻找答案)。

    顺便说一句,我不建议使用此信息来截断数据库字段的长度,正如您(在评论中)所指示的那样,您打算这样做。首先,如果您使用由文献组成的语料库来计算每个字符的预期字节数,您可能会发现该语料库根本不代表最终出现在您的数据库中的短小文本字符串,从而丢掉你的期望。只需获取整个数据库列。大多数结果将比最大长度短得多,如果不是,我认为您的优化不值得为节省一百个字节左右。

    关于unicode - UTF-8:语言使用多少字节来表示可见字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14485589/

    相关文章:

    php - UTF-8贯穿始终

    utf-8 - 如何在lua中将UTF8字节数组转换为字符串

    php - 如何限制处理 php 的 textarea 字段中的字符数?

    c - C 中 sizeof() 的这两种用法有什么区别?

    c - C : convert escape sequences into visible ones 的 K&R 中的练习 3-2

    c# - 将 RTF 特殊字符输出到 Unicode

    javascript - json_encode unicode转义序列无法在javascript中显示

    python - InboundEmailMessage 引发 UnicodeDecodeError 异常

    python - gzip 文件上的 readline 会导致无限循环 [python]

    java - 是否有任何编码可以让我安全地在文件中写入和读取任何 8 位字符代码(整个 256 而不仅仅是 128)?