字元數據類型操作

字元數據類型操作

在計算機和電信技術中,一個字元是一個單位的字形、類字形單位或符號的基本信息。字元數據類型操作是指對計算機中的字元數據進行有關操作。常見的字元數據操作有字元大小寫的轉換和檢查字元是否為字母和數字。一般可以調用有關庫函式或自定義函式實現。

基本介紹

  • 中文名:字元數據類型操作
  • 外文名:Character Data Type Operation
  • 學科:計算機
  • 定義:對字元數據進行有關操作
  • 有關術語:字元、數據類型
  • 套用:數據處理
操作介紹,有關術語,數據類型,Unicode,常見操作函式,strcpy,strcat,strlen,strncat,strncpy,stricmp,strerror,strcmp,strncmp,strnicmp,strpbrk,strrchr,strrev,strset,strspn,strstr,strtod,strtok,strupr,swab,isalpha,

操作介紹

在程式語言中,char類型原本用於表示當個字元。如今,有些Unicode字元可以用一個char描述,另外一些Unicode字元則需要兩個char值。主要原因語言不只有英語一種,還有很多其他語言,如中文,德語。為了全世界每個不同語言的不同字元都統一編碼,全球通行,字元採用了Unicode編碼。字元數據類型操作是指對計算機中的字元數據進行有關操作。這裡字元不只是一個char,主要與處理的語言有關。字元數據類型操作一些常見操作在程式語言的庫函式都存在。

有關術語

數據類型

數據類型數據結構中的定義是一個值的集合以及定義在這個值集上的一組操作。
變數是用來存儲值的所在處,它們有名字和數據類型。變數的數據類型決定了如何將代表這些值的位存儲到計算機的記憶體中。在聲明變數時也可指定它的數據類型。所有變數都具有數據類型,以決定能夠存儲哪種數據。
數據類型包括原始類型、多元組、記錄單元、代數數據類型、抽象數據類型、參考類型以及函式類型。

Unicode

Unicode(中文:萬國碼、國際碼、統一碼、單一碼)是計算機科學領域裡的一項業界標準。它對世界上大部分的文字系統進行了整理、編碼,使得電腦可以用更為簡單的方式來呈現和處理文字。
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時,返回非零值,否則返回零。

相關詞條

熱門詞條

聯絡我們