字元分析
isAlphaNumeric(thisChar)
描述
分析一個字元是否為英文字母或數字(即 a ~ z 或 A ~ Z 或 0 ~ 9 其中之一)。
參數
thisChar: 要分析的字元。
回傳
True 或 false。
isAlpha(thisChar)
描述
分析一個字元是否為英文字母(即 a ~ z 或 A ~ Z 其中之一)。
參數
thisChar: 要分析的字元。
回傳
True 或 false。
isAscii(thisChar)
描述
分析一個字元是否為 ASCII 字符。(ASCII 字符表請參考 ASCII wiki 網站)。
參數
thisChar: 要分析的字元。
回傳
True 或 false。
isWhitespace(thisChar)
描述
分析一個字元是否為空格(’ ‘)或 Tab(’\t’)字符。
參數
thisChar: 要分析的字元。
回傳
True 或 false。
isControl(thisChar)
描述
分析一個字元是否為控制字符。(控制字符的說明請參考 wiki 網站)
參數
thisChar: 要分析的字元。
回傳
True 或 false。
isDigit(thisChar)
描述
分析一個字元是否為數字 0 ~ 9 其中之一。
參數
thisChar: 要分析的字元。
回傳
True 或 false。
isGraph(thisChar)
描述
分析一個字元是否為空格以外的可列印字符。
參數
thisChar: 要分析的字元。
回傳
True 或 false。
isLowerCase(thisChar)
描述
分析一個字元是否為小寫的英文字母。
參數
thisChar: 要分析的字元。
回傳
True 或 false。
isPrintable(thisChar)
描述
分析一個字元是否為可列印的字符(包含空格字符)。
參數
thisChar: 要分析的字元。
回傳
True 或 false。
isPunct(thisChar)
描述
分析一個字元是否為空格、數字、英文字母以外的可列印字符。
參數
thisChar: 要分析的字元。
回傳
True 或 false。
isSpace(thisChar)
描述
分析一個字元是否為空格符號(’ ‘)、換頁符號(’\f’)、新列符號(’\n’)、回捲符號(’\r’)、水平 Tab(’\t’)、垂直 Tab(’\v’)。
參數
thisChar: 要分析的字元。
回傳
True 或 false。
isUpperCase(thisChar)
描述
分析一個字元是否為大寫的英文字母。
參數
thisChar: 要分析的字元。
回傳
True 或 false。
isHexadecimalDigit(thisChar)
描述
分析一個字元是否為十六進制的數字(即 0 ~ 9、A ~ F 其中之一)。
參數
thisChar: 要分析的字元。
回傳
True 或 false。
範例
/*
  Character analysis operators
 Examples using the character analysis operators.
 Send any byte and the sketch will tell you about it.
 created 29 Nov 2010
 modified 2 Apr 2012
 by Tom Igoe
 This example code is in the public domain.
 */
void setup() {
  // 打開串列通訊埠
  Serial.begin(9600);
  while (!Serial) {
    ; // 等代電腦端打開串列通訊接口
  }
  // 送出提示訊息:
  Serial.println("send any byte and I'll tell you everything I can about it");
  Serial.println();
}
void loop() {
  // 取得傳入的字元
  if (Serial.available() > 0) {
    int thisChar = Serial.read();
    // 回傳訊息給傳送者,告知已收到某字元
    Serial.print("You sent me: \'");
    Serial.write(thisChar);
    Serial.print("\'  ASCII Value: ");
    Serial.println(thisChar);
    // 分析送過來的字元
    if (isAlphaNumeric(thisChar)) {
      Serial.println("it's alphanumeric");
    }
    if (isAlpha(thisChar)) {
      Serial.println("it's alphabetic");
    }
    if (isAscii(thisChar)) {
      Serial.println("it's ASCII");
    }
    if (isWhitespace(thisChar)) {
      Serial.println("it's whitespace");
    }
    if (isControl(thisChar)) {
      Serial.println("it's a control character");
    }
    if (isDigit(thisChar)) {
      Serial.println("it's a numeric digit");
    }
    if (isGraph(thisChar)) {
      Serial.println("it's a printable character that's not whitespace");
    }
    if (isLowerCase(thisChar)) {
      Serial.println("it's lower case");
    }
    if (isPrintable(thisChar)) {
      Serial.println("it's printable");
    }
    if (isPunct(thisChar)) {
      Serial.println("it's punctuation");
    }
    if (isSpace(thisChar)) {
      Serial.println("it's a space character");
    }
    if (isUpperCase(thisChar)) {
      Serial.println("it's upper case");
    }
    if (isHexadecimalDigit(thisChar)) {
      Serial.println("it's a valid hexadecimaldigit (i.e. 0 - 9, a - F, or A - F)");
    }
    // 增加空行並回傳 "請求下一個字元" 的訊息
    Serial.println();
    Serial.println("Give me another byte:");
    Serial.println();
  }
}
The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.
