一个汉字到底占几个字节

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个汉字到底占几个字节相关的知识,希望对你有一定的参考价值。

参考技术A

中文在utf-8中占3or4个字节。
utf8字符是变长字符,在这里补充一下uft-8的编码方式。
一字节:0*******
两字节:110*****,10******
三字节:1110****,10******,10******
四字节:11110 ,10******,10******,10******
五字节:111110
,10******,10******,10******,10******
六字节:1111110
,10******,10******,10******,10******,10******
因此,拿到字节串后,想判断UTF8字符的byte长度,按照上文的规律,只需要获取该字符的首个Byte,根据其值就可以判断出该字符由几个Byte表示。

GBK编码,一个汉字占两个字节。UTF-16编码,通常汉字占两个字节,CJKV扩展B区、扩展C区、扩展D区中的汉字占四个字节(一般字符的Unicode范围是U+0000至U+FFFF,而这些扩展部分的范围大于U+20000,因而要用两个UTF-16)。UTF-8编码是变长编码,通常汉字占三个字节,扩展B区以后的汉字占四个字节。

以上是关于一个汉字到底占几个字节的主要内容,如果未能解决你的问题,请参考以下文章

一个汉字占几个字符?

一个汉字到底是多少个字符,高手请进

c# 处理某些占4个字节的汉字问题

java字节流对汉字输出为乱码的问题

Java一个汉字占几个字节(详解与原理)(转载)

系统存储之:一个汉字在数据库占几个字节