字符编码——简短的描述和比较

本文详细介绍了多种字符集与编码方式,包括ASCII、扩展ASCII、GB2312、GBK、GB18030、ANSI、UCS-2及UTF-8等。解析了每种编码的特点与兼容性,帮助理解字符在网络中的传输形式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


 字节支持补充
ASCII1128字符,包括32个控制符号最高位为0
扩展ASCII1256字符一些欧洲国家加入自己语言中的符号,但是各自不同
GB23121 27445字符,6763个汉字和 682 个其它符号兼容ASCII
GBK1 221886字符,21003 个汉字兼容GB2312,微软制定,不是国家标准
GB180301 2 4汉字27484个,少数民族、繁体、日韩完全兼容GB2312,基本兼容GBK
ANSI  ASCII+GB2312(简体中文版)/Big5(繁体中文版)
UCS-22 Unicode实现方式之一
UTF-81-4 Unicode实现方式之一,兼容ASCII

Unicode本身只是符号集合,规定了符号的二进制代码,但没有规定编码方式。当其作为编码方式时指UCS-2。UTF-8是互联网上使用最多的Unicode实现方式,另外还有UTF-16、UTF-32等等。UTF-16基本用2字节存储。UTF-32又称UCS-4,固定4字节。


参考:

http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

http://www.cnblogs.com/skynet/archive/2011/05/03/2035105.html

http://www.crifan.com/files/doc/docbook/char_encoding/release/html/char_encoding.html

http://www.laruence.com/2009/08/22/1059.html

### Java 中比较字符串 '1234' '1235' 在Java中,`compareTo()` 方法用于按照字典顺序比较两个字符串。此方法不仅考虑字符串的长度还逐字符进行对比。 对于给定的例子: ```java String s1 = "1234"; String s2 = "1235"; int result = s1.compareTo(s2); if (result < 0) { System.out.println("字符串 '1234' 小于字符串 '1235'"); } else if (result > 0) { System.out.println("字符串 '1234' 大于字符串 '1235'"); } else { System.out.println("字符串 '1234' 等于字符串 '1235'"); } ``` 上述代码将输出:“字符串 '1234' 小于字符串 '1235'”,因为当遇到不同的第一个字符时——即第四个位置上的 `4` `5` ——后者具有更大的ASCII码值[^1]。 ### C语言中比较字符串 '1234' '1235' C语言提供了标准库函数 `strcmp` 来执行类似的比较工作。该函数同样遵循字典序原则来决定哪个字符串更大。 下面是一个简单的例子展示如何使用它来进行比较: ```c #include <stdio.h> #include <string.h> int main() { char *s1 = "1234"; char *s2 = "1235"; int result = strcmp(s1, s2); if (result < 0) { printf("字符串 '1234' 小于字符串 '1235'\n"); } else if (result > 0) { printf("字符串 '1234' 大于字符串 '1235'\n"); } else { printf("字符串 '1234' 等于字符串 '1235'\n"); } return 0; } ``` 这段程序也会得出结论说 `'1234'` 小于 `'1235'`,理由同上[^3]。 ### Python 中比较字符串 '1234' '1235' Python允许直接通过关系运算符 (`<`, `>`) 对字符串进行比较,这背后实际上是比较它们各自的Unicode编码值序列。 这里有一个简短的例子说明这一点: ```python s1 = "1234" s2 = "1235" if s1 < s2: print("字符串 '1234' 小于字符串 '1235'") elif s1 > s2: print("字符串 '1234' 大于字符串 '1235'") else: print("字符串 '1234' 等于字符串 '1235'") ``` 如同前面两种情况一样,在这个实例里也将显示 `'1234'` 是小于 `'1235'` 的消息[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值