什么是UTF-8编码字符的最大字节数?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (1)
  • 查看 (542)

单个UTF-8编码字符的最大字节数是多少?

我将加密以UTF-8编码的字符串的字节,因此需要能够计算出UTF-8编码字符串的最大字节数。

有人可以确认单个UTF-8编码字符的最大字节数吗?

提问于
用户回答回答于

根据RFC3629,每个字符的最大字节数为4,将字符表限制为U+10FFFF

在UTF-8中,来自U + 0000..U + 10FFFF范围(UTF-16可访问范围)的字符使用1到4个八位字节的序列进行编码。

用户回答回答于

从UTF-8到本地编码,我们必须看看如何实现“字符串”。某些语言,如Python> = 3,将用整数代码点表示每个字符,这允许每个字符4个字节= 32位来覆盖我们需要的Unicode,这有些浪费。为什么不准确20位?因为字节对齐时事情会更快。

所以,最后的结论是,4是最常见的正确答案,所以我们说得对。但是,在某些情况下,你应该小心。例如,不要指望你可以表示你从UTF-8流中读取的最多4个字节的内容。如果它不是unicode,则可能需要多达6个字节。

所属标签

可能回答问题的人

  • 人生的旅途

    10 粉丝484 提问6 回答
  • 不吃貓的鱼oo

    5 粉丝466 提问6 回答
  • 富有想象力的人

    4 粉丝0 提问5 回答
  • Richel

    8 粉丝0 提问5 回答

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励