字符编码 ASc编码 单字节(8bits) 口对128个符号(字符集 charset)进行编码 在C和C++中均采用 其他编码方式 口ANS编码(本地化,GB2312、BG5、JS等, 不同ANS编码间互不兼容) 口 UNICODE(国际化,各种语言中的每一个字符 具有唯一的数字编号,便于跨平台的文本转换) “十一五”国家缀规划教材。张铭,王腾蛟,赵海£,《飙据结构与算法》,高教社,B0.6
“十一五”国家级规划教材。张铭,王腾蛟,赵海燕,《数据结构与算法》,高教社,2008. 6。 字符编码 ◼ ASCII编码 ❑ 单字节(8 bits) ❑ 对128个符号(字符集charset)进行编码 ❑ 在C和C++中均采用 ◼ 其他编码方式 ❑ ANSI编码(本地化,GB2312、BIG5、JIS等, 不同ANSI编码间互不兼容) ❑ UNICODE(国际化,各种语言中的每一个字符 具有唯一的数字编号,便于跨平台的文本转换)
字符的编码顺序 为了字符串间比较和运算的便利,字符编码表 般遵循约定俗成的“偏序编码规则” 字符偏序:根据字符的自然含义,某些字符间两 两可以比较次序 口字典序 口中文字符串有些特例,例如“笔划”序 “十一五”国家缀规划教材。张铭,王腾蛟,赵海£,《飙据结构与算法》,高教社,B0.6
“十一五”国家级规划教材。张铭,王腾蛟,赵海燕,《数据结构与算法》,高教社,2008. 6。 字符的编码顺序 ◼ 为了字符串间比较和运算的便利,字符编码表一 般遵循约定俗成的“偏序编码规则” ◼ 字符偏序:根据字符的自然含义,某些字符间两 两可以比较次序 ❑ 字典序 ❑ 中文字符串有些特例,例如“笔划”序
字符串长度 理论上,一个字符串的长度是任意且有限的, 但在实际的语言中总有一定的长度 口定长:具有一个固定的最大长度,所用内存量始终如 口变长:根据实际需要伸缩。尽管命名为变长,但实际 长度也有限(取决于可用的内存量) “十一五”国家缀规划教材。张铭,王腾蛟,赵海£,《飙据结构与算法》,高教社,B0.6
“十一五”国家级规划教材。张铭,王腾蛟,赵海燕,《数据结构与算法》,高教社,2008. 6。 字符串长度 ◼ 理论上,一个字符串的长度是任意且有限的, 但在实际的语言中总有一定的长度 ❑ 定长:具有一个固定的最大长度,所用内存量始终如 一 ❑ 变长:根据实际需要伸缩。尽管命名为变长,但实际 长度也有限(取决于可用的内存量)
子串 假设s1,S2是两个串: 1=a0a1a2…an1 2 0u12-Wm-1 其中0≤m≤n,若存在整数i(0≤isnm),使得 j=0,1,…,m-1 同时成立,则称串s2是串s1的子串,或称s包含串s2 口真子串:非空且不为自身的子串。空串是任意串的子串 口任意串S都是S本身的子串 子串函数 口提取、插入、寻找、删除 “十一五”国家缀规划教材。张铭,王腾蛟,赵海£,《飙据结构与算法》,高教社,B0.6
“十一五”国家级规划教材。张铭,王腾蛟,赵海燕,《数据结构与算法》,高教社,2008. 6。 子串 ◼ 假设s1,s2 是两个串: s1 = a0a1a2…an-1 s2 = b0b1b2…bm-1 其中0 ≤ m ≤ n, 若存在整数i (0 ≤ i ≤n-m),使得 bj = ai+j, j = 0,1,…,m-1 同时成立,则称串s2是串s1的子串,或称s1包含串s2 ❑ 真子串:非空且不为自身的子串。空串是任意串的子串 ❑ 任意串S 都是S本身的子串 ◼ 子串函数 ❑ 提取、插入、寻找、删除 …
字符串数据类型 因语言而不同 口简单类型 口复合类型 字符串常数和变量 口字符串常数( string literal) 例如:“以 a student 口字符串变量 “十一五”国家缀规划教材。张铭,王腾蛟,赵海£,《飙据结构与算法》,高教社,B0.6
“十一五”国家级规划教材。张铭,王腾蛟,赵海燕,《数据结构与算法》,高教社,2008. 6。 字符串数据类型 ◼ 因语言而不同 ❑ 简单类型 ❑ 复合类型 ◼ 字符串常数和变量 ❑ 字符串常数(string literal) ◼ 例如: “\n”, “a”,“student”… ❑ 字符串变量