在现代编程中,字符串是非常基础且重要的数据结构。它在不同编程语言中可能表现为字符数组、对象或其他形式,但其本质是存储一系列字符。对于字符串的深入理解,不仅涉及字符串的操作,还涉及底层的编码方式,如 ASCII、UTF-8、GB2312 等。本文将详细介绍字符编码的背景知识。
一、什么是字符串?
在计算机科学中,字符串通常指的是由一系列字符(如字母、数字、符号)组成的序列。在不同的编程语言中,字符串的表现方式可能不同。例如,在 C 语言中,字符串是以空字符 ‘\0’ 结尾的字符数组。
二、字符串编码
2.1 ASCII 编码
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种字符编码标准,广泛用于表示英文字母、数字、符号等字符。它使用 7 位(后来扩展为 8 位)来表示一个字符,因此可以表示 128 个字符,其中包括:
33 个控制字符(如换行符、回车符等)。
95 个可打印字符,包括英文字母(大写和小写)、数字和一些符号。
例如,字符 ‘A’ 在 ASCII 编码中对应值为 65,‘B’ 对应 66,依此类推。详细参考下图:
ASCII 的局限性在于,它只能表示英语字符,对于