计算机常用编码

ASCII码:共 128个字符;只占用了一个byte的7个bit位,高位的1位统一规定为0;

unicode:该编码将世界上所有的符号都纳入其中,每一个符号都给予一个独一无二的编码,即:一种所有符号的编码;

缺点:unicode只是一个符号集,只是一个规范、标准,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储在计算机上。unicode编码存储汉字时需要2字节或者更多字节,ASCII只需要1字节,那么怎么进行区分是ASCII还是unicode呢?这也是该编码一直无法推广的原因。直到互联网 (UTF-8)的出现。

UTF-8:在互联网上使用最广的一种unicode的实现方式。其他实现方式还包括UFT-16/UTF-32,但在互联网上基本不用;这里UTF-8与unicode的关系为UTF-8是unicode的实现方式之一。

UTF-8最大的一个特点是:一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

UTF-8的编码规则:

1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英文字母,UTF-8编码和ASCII码是相同的。

2)对于N字节的符号(n > 1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10.剩下的没有提及的二进制位,全部为这个符号的unicode码。

下表总结了编码规则UTF-8编码方式:

Notepad.exe中共有四种编码方式:

1)ANSI是默认的编码方式。对于英文文件是ASCII编码,对于简体中文是GB2312编码(只针对Windows简体中文版,如果是繁体中文版会采用Big5码)。

2)Unicode编码指的是UCS-2编码方式,即直接用两个字节存入字符的Unicode码。这个选项用的是little endian格式(即小端)。

3)Unicode big endian编码(即大端)与上一个选项相对应。

小端与大端(Little endian or Big endian):

大端:例如字节0x1213,在存储时0x12存储在前即低地址,0x13存储在后即高地址。

小端:例如字节0x1213,在存储时0x12存储在后即高地址,0x13存储在前即低地址。

Unicode规范中定义,每一个文件的最前面分别加入一个表示编码顺序的字符,这个字符的名字叫做“零宽度非换行空格”,用FEFF表示。这正好是两个字节,而且FF比FE大1。

如果文本文件的头两个字节是FEFF则表示该文件采用大头方式;如果头两个字节是FFFE,则表示该文件采用小头方式。

ASCII标准最初是美国国家标准,供不同计算机在相互通信时用作共同遵守的西文字符编码标准,它已被国际标准化组织定为国际标准,称为ISO 646标准,适用于所有拉丁文字字母。ISO/IEC 646是一组ISO标准的名称,描述为信息技术-用于信息交换的ISO 7位编码字符集。

你可能感兴趣的:(嵌入式,其他)