字元分析

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.