charcode 1.2.0-nullsafety.2 charcode: ^1.2.0-nullsafety.2 copied to clipboard
Constants for ASCII and common non-ASCII character codes.
Character code constants #
This package defines symbolic names for some character codes (aka. code points).
They can used when working directly with characters as integers,
to make the code more readable: if (firstChar == $A) ...
.
This is not an official Google package, and is not supported by Google.
Usage #
Import either one of the libraries:
import "package:charcode/ascii.dart";
import "package:charcode/html_entity.dart";
or import both libraries using the charcode.dart
library:
import "package:charcode/charcode.dart";
Naming #
The character names are preceded by a $
to avoid conflicting with other
variables, due to their short and common names (for example "$i").
Characters that are valid in a Dart identifier directly follow the $
.
Examples: $_
, $a
, $B
and $3
. Other characters are given symbolic names.
The names of letters are lower-case for lower-case letters ($sigma
for σ
),
and mixed- or upper-case for upper-case letters ($Sigma
for Σ
).
The names of symbols and punctuation are all lower-case,
and omit suffixes like "sign", "symbol" and "mark".
Examples: $plus
, $exclamation
, $tilde
.
The ascii.dart
library defines a symbolic name for each ASCII character.
Some characters have more than one name. For example the common name $tab
and the official abbreviation $ht
for the horisontal tab.
The html_entity.dart
library defines a constant for each HTML 4.01 character
entity using their standard entity abbreviation, including case.
Examples: $nbsp
for &nbps;
, $aring
for the lower-case å
and $Aring
for the upper-case Å
.
The HTML entities include all characters in the Latin-1 code page, greek letters and some mathematical symbols.
The charcode.dart
library exports both ascii.dart
and
html_entity.dart
. Where both libraries define the same name,
the HTML entity name is preferred.
Rationale #
The Dart language doesn't have character literals. If that ever changes, this package will become irrelevant. Until then, this package can be used for the most common characters. See [http://dartbug.com/4415](request for character literals).