本文目录
求UTF8中汉字编码范围
\u4E00-\u9FFF,这个包含了常用的汉字、日文和韩文,扩展部分的范围如下:Extension A (3400–4DBF)Extension B (20000–2A6DF)Extension C (2A700–2B73F)Extension D (2B840–2B81F)十进制自己用windows自带的科学计算器换算一下吧。
UTF-8的字符集
如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节。而如果UNICODE字符由4个字节表示,则编码成UTF-8可能需要6个字节。用4个或6个字节去编码一个UNICODE字符可能太多了,但很少会遇到那样的UNICODE字符。 UTF-8转换表表示如下: Unicode/UCS-4 bit数 UTF-8 byte数 备注 0000 ~007F 0~7 0XXX XXXX 1 0080 ~07FF 8~11 110X XXXX10XX XXXX 2 0800 ~FFFF 12~16 1110XXXX10XX XXXX10XX XXXX 3 基本定义范围:0~FFFF 1 0000 ~1F FFFF 17~21 1111 0XXX10XX XXXX10XX XXXX10XX XXXX 4 Unicode6.1定义范围:0~10 FFFF 20 0000 ~3FF FFFF 22~26 1111 10XX10XX XXXX10XX XXXX10XX XXXX10XX XXXX 5 说明:此非unicode编码范围,属于UCS-4 编码早期的规范UTF-8可以到达6字节序列,可以覆盖到31位元(通用字符集原来的极限)。尽管如此,2003年11月UTF-8 被 RFC 3629 重新规范,只能使用原来Unicode定义的区域, U+0000到U+10FFFF。根据规范,这些字节值将无法出现在合法 UTF-8序列中 400 0000 ~7FFF FFFF 27~31 1111 110X10XX XXXX10XX XXXX10XX XXXX10XX XXXX10XX XXXX 6 实际表示ASCII字符的UNICODE字符,将会编码成1个字节,并且UTF-8表示与ASCII字符表示是一样的。所有其他的UNICODE字符转化成UTF-8将需要至少2个字节。每个字节由一个换码序列开始。第一个字节由唯一的换码序列,由n位连续的1加一位0组成, 首字节连续的1的个数表示字符编码所需的字节数。Unicode转换为UTF-8时,可以将Unicode二进制从低位往高位取出二进制数字,每次取6位,如上述的二进制就可以分别取出为如下示例所示的格式,前面按格式填补,不足8位用0填补。注:Unicode转换为UTF-8需要的字节数可以根据这个规则计算:如果Unicode小于0X80(Ascii字符),则转换后为1个字节。否则转换后的字节数为Unicode二进制位数减1再除以5。示例UNICODE uCA(1100 1010) 编码成UTF-8将需要2个字节:uCA -》 C3 8AUNICODE uF03F (11110000 0011 1111) 编码成UTF-8将需要3个字节:u F03F -》 EF 80 BF Unicode 16进制 Unicode 2进制 bit数 UTF-8 2进制 UTF-8 16进制 CA 1100 1010 8 1100 00111000 1010 C3 8A F0 3F 11110000 0011 1111 16 111011111000 00001011 1111 EF 80 BF
utf-8编码
utf-8意思是编码格式为UTF-8格式。
编码是用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。为保证编码的正确性,编码要规范化、标准化,即需有标准的编码格式。常见的编码格式有ASCII、ANSI、GBK、GB2312、UTF-8、GB18030和UNICODE等。
UTF-8是针对Unicode的一种可变长度字符编码。可以用来表示Unicode标准中的任何字符,而且其编码中的第一个字节仍与ASCII相容,使得原来处理ASCII字符的软件无须或只进行少部分修改后,便可继续使用。因此逐渐成为电子邮件、网页及其他存储或传送文字的应用中,优先采用的编码。
基本特征:
UCS字符U+0000到U+007F(ASCII)被编码为字节0×00到0x7F(ASCIⅡ兼容)。这意味着只包含7位ASCIl字符的文件在ASCIⅡ和UTF-8两种编码方式下是一样的。
UTF-8编码字符理论上可以最多到4个字节长,然而16位BMP字符最多只用到3字节长,Bigendian UCS-4字节串的排列顺序是预定的,字节0xFE和OxFF在UTF-8编码中从未用到。