2008-03-22
Java的空格问题
1、isSpace
已过时。 用 isWhitespace(char) 取代。
确定指定字符是否为 ISO-LATIN-1 空白。该方法只对以下五个字符返回 true:
'\t' '\u0009' HORIZONTAL TABULATION 水平tab
'\n' '\u000A' NEW LINE 换行
'\f' '\u000C' FORM FEED
'\r' '\u000D' CARRIAGE RETURN
' ' '\u0020' SPACE
这是ISO-8859-1所定义的空格,它跟ASCII定义的空格是一样的。
2、isWhiteSpace
确定指定字符依据 Java 标准是否为空白字符。当且仅当字符满足以下标准时,该字符才是一个 Java 空白字符:
- 它是 Unicode 空格字符(SPACE_SEPARATOR、LINE_SEPARATOR 或 PARAGRAPH_SEPARATOR),但不是非中断空格('\u00A0'、'\u2007'、'\u202F')
- 它是 '\u0009',HORIZONTAL TABULATION
- 它是 '\u000A',LINE FEED
- 它是 '\u000B',VERTICAL TABULATION
- 它是 '\u000C',FORM FEED
- 它是 '\u000D',CARRIAGE RETURN
- 它是 '\u001C',FILE SEPARATOR
- 它是 '\u001D',GROUP SEPARATOR
- 它是 '\u001E',RECORD SEPARATOR
- 它是 '\u001F',UNIT SEPARATOR
注:此方法无法处理增补字符。若要支持所有 Unicode 字符,包括增补字符,请使用 isWhitespace(int) 方法。
它应该是UTF-8的空格。包含ISO-8859-1定义的空格。除了Unicode空格外还有ISO-8859-1定义的空格.
3、isSpaceChar
确定指定字符是否为 Unicode 空白字符。当且仅当根据 Unicode 标准将字符指定为空白字符时,才认为字符是一个空白字符。如果字符的常规类别的类型为以下类型中的任意一种,则该方法返回 true:
- SPACE_SEPARATOR
- LINE_SEPARATOR
- PARAGRAPH_SEPARATOR
注:此方法无法处理增补字符。若要支持所有 Unicode 字符,包括增补字符,请使用 isSpaceChar(int) 方法。
这个是Unicode定义的空格。
不知道Sina的口字是否就是Unicode的空格呢?
中文的全角空格是否Unicode空格呢?


评论