Programmer's Reference
The class Character is an abstraction for character data.
Characters have values between 0 and 65535, and are unique objects
that represent code points. A code point is simply a numeric
value--the format and graphical appearance of a character are defined by
the currently selected character set. All vendors agree that the
characters with values from 0-127 correspond to the ASCII standard
character set. However, there is no agreement on the interpretation of
other characters. Groups of characters can be composed into either a
String or a DBString depending upon the values of the
characters being composed.
- Note:
- Many of the original Smalltalk implementations supported only characters that
could be represented by a single byte (characters in the range 0 to
255). Currently, implementations of Objectworks\Smalltalk
and Smalltalk/V provide for characters whose value exceeds 255.
Characters whose values exceed 255 require two bytes of storage, and are often
referred to as double-byte characters. Double-byte character support is
critical for the development of applications for the international market
place because many languages use more than 256 characters.
value, digitValue
- Porting tip:
- CLDT does not support the Blue Book method asciiValue because it
is not appropriate for characters whose value exceeds 127, the range of values
converted by the ASCII standard. Rather, the asciiValue
message is replaced by the more general message value.
Objectworks\Smalltalk does not support the message
value, but uses asInteger as the equivalent
message. Smalltalk/V does not support the message value, but
uses asciiValue as the equivalent message.
asLowercase, asSymbol, asUppercase,
asString
- Porting tip:
- Smalltalk/V uses the spelling asLowerCase and
asUpperCase, and does not support asSymbol.
Character conversions outside the ASCII range of values (0 to 127) vary from
platform to platform and from language to language. Character
conversion results might differ between platforms.
Objectworks\Smalltalk does not support asString.
digitValue:, value:
- Note:
- The Blue Book specifies that class Character should support
messages that provide access to several of the standard ASCII nonprinting
characters used for text formatting: backspace,
cr, esc, newPage, space, and
tab. Objectworks\Smalltalk adopts this approach,
and extends it to support several additional characters. The approach
taken by IBM Smalltalk is to supply all of the nonprinting ASCII characters in
a pool dictionary called CldtConstants as shown in Table 2.
- Porting tip:
- Smalltalk/V does not support the message value:.
Table 2. The CldtConstants pool dictionary
(ASCII character values)
|
Key
| ASCII Character Value
| Key
| ASCII Character Value
|
Ack
| 6
| Ff
| 12
|
Bell
| 7
| Fs
| 28
|
Bs
| 8
| Gs
| 29
|
Can
| 24
| Lf
| 10
|
Cr
| 13
| Nak
| 21
|
Dc1
| 17
| Nul
| 0
|
Dc2
| 18
| Rs
| 30
|
Dc3
| 19
| Si
| 15
|
Dc4
| 20
| So
| 14
|
Del
| 127
| Soh
| 1
|
Dle
| 16
| Space
| 32
|
Em
| 25
| Stx
| 2
|
Enq
| 5
| Sub
| 26
|
Eot
| 4
| Syn
| 22
|
Esc
| 27
| Tab
| 9
|
Etb
| 23
| Us
| 31
|
Etx
| 3
| Vt
| 11
|
Table 3. The CldtConstants pool dictionary
(LineDelimiter values)
|
Key
| Value
|
LineDelimiter
| The platform-specific line delimiter string
|
PMLineDelimiter
| The string consisting of Cr followed by Lf
|
WINLineDelimiter
| The string consisting of Cr followed by Lf
|
isAlphaNumeric, isDigit, isLetter,
isLowercase, supplantation, isSeparator,
isUppercase, isVowel
- Porting tip:
- Smalltalk/V uses the spelling isLowerCase and
isUpperCase. Character classifications outside the ASCII
range of values (0 to 127) vary from platform to platform and from language to
language. Character conversion results might differ between
platforms. Neither Objectworks\Smalltalk nor Smalltalk/V
support isPunctuation for Characters.
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]