汉字不是4个字节吗?

时间:2019-07-24 08:01:58

标签: php byte

当我用php解释时:

$html = htmlentities("漢");
    var_dump($html);

输出显示为string(3)“汉”,所以3个字节?

1 个答案:

答案 0 :(得分:-3)

在这里类似的问题(link)上,我将使用很多@MiguelMunoz答案:

  

对于汉字,UTF-8仅使用每个字节的6位来存储数据。   其他两位包含控制信息。 (取决于   在角色上。对于ASCII字符,UTF-8使用7位。)   复杂的编码机制,但是它允许UTF-8存储   字符,最长32位。这样做的好处是只服用   每个字符一个字节,用于7位(ASCII)字符,使其成为   向后兼容ASCII。但是它需要3个字节来存储16位   数据的。您可以通过在Wikipedia上查找来了解其工作原理。

所以:确实是3个字节。