字元数据类型操作


字元数据类型操作

文章插图
字元数据类型操作【字元数据类型操作】在计算机和电信技术中,一个字元是一个单位的字形、类字形单位或符号的基本信息 。字元数据类型操作是指对计算机中的字元数据进行有关操作 。常见的字元数据操作有字元大小写的转换和检查字元是否为字母和数字 。一般可以调用有关库函式或自定义函式实现 。
基本介绍中文名:字元数据类型操作
外文名:Character Data Type Operation
学科:计算机
定义:对字元数据进行有关操作
有关术语:字元、数据类型
套用:数据处理
操作介绍在程式语言中,char类型原本用于表示当个字元 。如今,有些Unicode字元可以用一个char描述,另外一些Unicode字元则需要两个char值 。主要原因语言不只有英语一种,还有很多其他语言,如中文,德语 。为了全世界每个不同语言的不同字元都统一编码,全球通行,字元採用了Unicode编码 。字元数据类型操作是指对计算机中的字元数据进行有关操作 。这里字元不只是一个char,主要与处理的语言有关 。字元数据类型操作一些常见操作在程式语言的库函式都存在 。有关术语数据类型数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作 。变数是用来存储值的所在处,它们有名字和数据类型 。变数的数据类型决定了如何将代表这些值的位存储到计算机的记忆体中 。在声明变数时也可指定它的数据类型 。所有变数都具有数据类型,以决定能够存储哪种数据 。数据类型包括原始类型、多元组、记录单元、代数数据类型、抽象数据类型、参考类型以及函式类型 。UnicodeUnicode(中文:万国码、国际码、统一码、单一码)是计算机科学领域里的一项业界标準 。它对世界上大部分的文字系统进行了整理、编码,使得电脑可以用更为简单的方式来呈现和处理文字 。Unicode伴随着通用字元集的标準而发展,同时也以书本的形式对外发表[3] 。Unicode至今仍在不断增修,每个新版本都加入更多新的字元 。目前最新的版本为2016年6月21日公布的9.0.0[4],已经收入超过十万个字元(第十万个字元在2005年获採纳) 。Unicode涵盖的数据除了视觉上的字形、编码方法、标準的字元编码外,还包含了字元特性,如大小写字母 。Unicode发展由非营利机构统一码联盟负责,该机构致力于让Unicode方案取代既有的字元编码方案 。因为既有的方案往往空间非常有限,亦不适用于多语环境 。Unicode备受认可,并广泛地套用于电脑软体的国际化与本地化过程 。有很多新科技,如可扩展置标语言(Extensible Markup Language,简称:XML)、Java程式语言以及现代的作业系统,都採用Unicode编码 。统一码的编码方式与ISO 10646的通用字元集概念相对应 。目前实际套用的统一码版本对应于UCS-2,使用16位的编码空间 。也就是每个字元占用2个位元组 。这样理论上一共最多可以表示216(即65536)个字元 。基本满足各种语言的使用 。实际上当前版本的统一码并未完全使用这16位编码,而是保留了大量空间以作为特殊使用或将来扩展 。上述16位统一码字元构成基本多文种平面 。最新(但未实际广泛使用)的统一码版本定义了16个辅助平面,两者合起来至少需要占据21位的编码空间,比3位元组略少 。但事实上辅助平面字元仍然占用4位元组编码空间,与UCS-4保持一致 。未来版本会扩充到ISO 10646-1实现级别3,即涵盖UCS-4的所有字元 。UCS-4是一个更大的尚未填充完全的31位字元集,加上恆为0的首位,共需占据32位,即4位元组 。理论上最多能表示231个字元,完全可以涵盖一切语言所用的符号 。基本多文种平面的字元的编码为U+hhhh,其中每个h代表一个十六进制数字,与UCS-2编码完全相同 。而其对应的4位元组UCS-4编码后两个位元组一致,前两个位元组则所有位均为0 。常见操作函式strcpy原型:extern char *strcpy(char *dest,char *src);用法:#include <string.h>功能:把src所指由NUL结束的字元串複製到dest所指的数组中 。返回指向dest结尾处字元(NUL)的指针 。strcat原型:extern char *strcat(char *dest,char *src);用法:#include <string.h>功能:把src所指字元串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0' 。返回指向dest的指针 。strlen原型:extern int strlen(char *s);用法:#include <string.h>功能:计算字元串s的长度说明:返回s的长度,不包括结束符NULL 。strncat原型:extern char *strncat(char *dest,char *src,int n);用法:#include <string.h>功能:把src所指字元串的前n个字元添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0' 。返回指向dest的指针 。strncpy原型:extern char *strncpy(char *dest, char *src, int n);用法:#include <string.h>功能:把src所指由NULL结束的字元串的前n个位元组複製到dest所指的数组中 。stricmp功 能: 以大小写不敏感方式比较两个串用 法: int stricmp(char *str1, char *str2);strerror功 能: 返回指向错误信息字元串的指针用 法: char *strerror(int errnum);strcmp功 能: 将一个串与另一个比较用 法: intstrcmpi(char *str1, char *str2);strncmp功 能: 把串中的一部分与另一串中的一部分比较 (前n个字元)用 法: int strncmp(char *str1, char *str2,int maxlen);strnicmp功 能: 不注重大小写地比较两个串的前n个字元用 法: intstrnicmp(char *str1, char *str2, unsigned maxlen); strpbrk功 能: 在串中查找给定字元集中的字元用 法: char *strpbrk(char *str1, char *str2);strrchr功 能: 在串中查找指定字元的最后一个出现用 法: char *strrchr(char *str, char c);strrev功 能: 串倒转用 法: char *strrev(char *str);strset功 能: 将一个串中的所有字元都设为指定字元用 法: char *strset(char *str, char c);strspn功 能: 返回字元串中第一个不在指定字元串中出现的字元下标用 法: int strspn(char *str1, char *str2);strstr功 能: 在串中查找指定字元串的第一次出现用 法: char *strstr(char *str1, char *str2);strtod功 能: 将字元串转换为double型值用 法: double strtod(char *str, char **endptr);strtok功 能: 查找由在第二个串中指定的分界符分隔开的单词用 法: char *strtok(char *str1, char *str2);strupr功 能: 将串中的小写字母转换为大写字母用 法: char *strupr(char *str);swab功 能: 交换位元组用 法: void swab (char *from, char *to, int nbytes);isalpha原型:extern int isalpha(int c);用法:#include <ctype.h>功能:判断字元c是否为英文字母说明:当c为英文字母a-z或A-Z时,返回非零值,否则返回零 。