字符数据类型操作

2022-11-23 19阅读

字符数据类型操作

在计算机和电信技术中,一个字符是一个单位的字形、类字形单位或符号的基本信息。字符数据类型操作是指对计算机中的字符数据进行有关操作。常见的字符数据操作有字符大小写的转换和检查字符是否为字母和数字。一般可以调用有关库函数或自定义函数实现。

字符数据类型操作

字符数据类型操作操作介绍

在编程语言中,char类型原本用于表示当个字符。如今,有些Unicode字符可以用一个char描述,另外一些Unicode字符则需要两个char值。主要原因语言不只有英语一种,还有很多其他语言,如中文,德语。为了全世界每个不同语言的不同字符都统一编码,全球通行,字符采用了Unicode编码。字符数据类型操作是指对计算机中的字符数据进行有关操作。这里字符不只是一个char,主要与处理的语言有关。字符数据类型操作一些常见操作在编程语言的库函数都存在。

字符数据类型操作有关术语

字符数据类型操作数据类型

数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。数据类型包括原始类型、多元组、记录单元、代数数据类型、抽象数据类型、参考类型以及函数类型。

字符数据类型操作Unicode

Unicode是计算机科学领域里的一项业界标准。它对世界上大部分的文字系统进行了整理、编码,使得电脑可以用更为简单的方式来呈现和处理文字。Unicode伴随着通用字符集的标准而发展,同时也以书本的形式对外发表。Unicode至今仍在不断增修,每个新版本都加入更多新的字符。目前最新的版本为2016年6月21日公布的9.0.0,已经收入超过十万个字符。Unicode涵盖的数据除了视觉上的字形、编码方法、标准的字符编码外,还包含了字符特性,如大小写字母。Unicode发展由非营利机构统一码联盟负责,该机构致力于让Unicode方案取代既有的字符编码方案。因为既有的方案往往空间非常有限,亦不适用于多语环境。Unicode备受认可,并广泛地应用于电脑软件的国际化与本地化过程。有很多新科技,如可扩展置标语言(Extensible Markup Language,简称:XML)、Java编程语言以及现代的操作系统,都采用Unicode编码。统一码的编码方式与ISO 10646的通用字符集概念相对应。目前实际应用的统一码版本对应于UCS-2,使用16位的编码空间。也就是每个字符占用2个字节。这样理论上一共最多可以表示216个字符。基本满足各种语言的使用。实际上当前版本的统一码并未完全使用这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 功能:把src所指由NUL结束的字符串复制到dest所指的数组中。返回指向dest结尾处字符(NUL)的指针。

字符数据类型操作strcat

原型:extern char *strcat(char *dest,char *src);用法:#include 功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。返回指向dest的指针。

字符数据类型操作strlen

原型:extern int strlen(char *s);用法:#include 功能:计算字符串s的长度说明:返回s的长度,不包括结束符NULL。

字符数据类型操作strncat

原型:extern char *strncat(char *dest,char *src,int n);用法:#include 功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。返回指向dest的指针。

字符数据类型操作strncpy

原型:extern char *strncpy(char *dest, char *src, int n);用法:#include 功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中。

字符数据类型操作stricmp

功 能: 以大小写不敏感方式比较两个串用 法: int stricmp(char *str1, char *str2);

字符数据类型操作strerror

功 能: 返回指向错误信息字符串的指针用 法: char *strerror(int errnum);

字符数据类型操作strcmp

功 能: 将一个串与另一个比较用 法: intstrcmpi(char *str1, char *str2);

字符数据类型操作strncmp

功 能: 把串中的一部分与另一串中的一部分比较 用 法: 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 功能:判断字符c是否为英文字母说明:当c为英文字母a-z或A-Z时,返回非零值,否则返回零。zhua曲子白渡白颗

目录[+]