On this page:
c0/  null
c0/  start-of-heading
c0/  start-of-text
c0/  end-of-text
c0/  end-of-transmission
c0/  enquiry
c0/  acknowledge
c0/  bell
c0/  backspace
c0/  horizontal-tabulation
c0/  line-feed
c0/  vertical-tabulation
c0/  form-feed
c0/  carriage-return
c0/  shift-out
c0/  shift-in
c0/  data-link-escape
c0/  device-control-one
c0/  device-control-two
c0/  device-control-three
c0/  device-control-four
c0/  negative-acknowledge
c0/  synchronous-idle
c0/  end-of-transmission-block
c0/  cancel
c0/  end-of-medium
c0/  substitute
c0/  escape
c0/  file-separator
c0/  group-separator
c0/  record-separator
c0/  unit-separator
c0/  delete
c1/  padding-character
c1/  high-octal-preset
c1/  break-permitted-here
c1/  no-break-here
c1/  index
c1/  next-line
c1/  start-of-selected-area
c1/  end-of-selected-area
c1/  horizontal-tabulation-set
c1/  horizontal-tabulation-with-justification
c1/  vertical-tabulation-set
c1/  parial-line-down
c1/  parial-line-up
c1/  reverse-line-feed
c1/  single-shift-2
c1/  single-shift-3
c1/  device-control-string
c1/  private-use-1
c1/  private-use-2
c1/  set-transmission-state
c1/  cancel-character
c1/  message-waiting
c1/  start-of-protected-area
c1/  end-of-protected-area
c1/  start-of-string
c1/  single-graphic-character-introducer
c1/  single-character-introducer
c1/  control-sequence-introducer
c1/  string-terminator
c1/  operating-system-command
c1/  privacy-message
c1/  application-program-command
2.1 Control Sequence Predicates
char-c0-code?
char-c1-code?
char-fe-code?
char-fs-code?
char-fp-code?
char-nf-code?
2.2 C0 Unicode Symbols
c0-symbol/  null
c0-symbol/  start-of-heading
c0-symbol/  start-of-text
c0-symbol/  end-of-text
c0-symbol/  end-of-transmission
c0-symbol/  enquiry
c0-symbol/  acknowledge
c0-symbol/  bell
c0-symbol/  backspace
c0-symbol/  horizontal-tabulation
c0-symbol/  line-feed
c0-symbol/  vertical-tabulation
c0-symbol/  form-feed
c0-symbol/  carriage-return
c0-symbol/  shift-out
c0-symbol/  shift-in
c0-symbol/  data-link-escape
c0-symbol/  device-control-one
c0-symbol/  device-control-two
c0-symbol/  device-control-three
c0-symbol/  device-control-four
c0-symbol/  negative-acknowledge
c0-symbol/  synchronous-idle
c0-symbol/  end-of-transmission-block
c0-symbol/  cancel
c0-symbol/  end-of-medium
c0-symbol/  substitute
c0-symbol/  escape
c0-symbol/  file-separator
c0-symbol/  group-separator
c0-symbol/  record-separator
c0-symbol/  unit-separator
c0-symbol/  space
c0-symbol/  delete
c0-symbol/  blank
c0-symbol/  open-box
c0-symbol/  newline
c0-symbol/  delete-form-two
c0-symbol/  substitute-form-two
char-c0-symbol?
c0-symbol

2 Control Sequences🔗ℹ

 (require ansi-terminal/control) package: ansi-terminal

The C0 and C1 control code or control character sets define control codes for use in text by computer systems that use ASCII and derivatives of ASCII. The codes represent additional information about the text, such as the position of a cursor, an instruction to start a new line, or a message that the text has been received.

C0 codes are the range #\nul#\u001F and the default C0 set was originally defined in ISO 646 (ASCII). C1 codes are the range #\u0080#\u009F and the default C1 set was originally defined in [ECMA48] (harmonized later with ISO 6429). The ISO/IEC 2022 system of specifying control and graphic characters allows other C0 and C1 sets to be available for specialized applications, but they are rarely used.

For more information, see C0 and C1 control codes (Wikipedia).

Almost all users assume some functions of some single-byte characters. Initially defined as part of ASCII, the default C0 control code set is now defined in ISO 6429 ([ECMA48]), making it part of the same standard as the C1 set invoked by the ANSI escape sequences (although ISO 2022 allows the ISO 6429 C0 set to be used without the ISO 6429 C1 set, and vice versa, provided that #\u001B is always ESC).

ANSI added this as an additional control character and while it behaves as a C0 control it is outside of the C0 range.

TBD

2.1 Control Sequence Predicates🔗ℹ

procedure

(char-c0-code? v)  boolean?

  v : any/c
Returns #t if v is a character and within the C0 range.

procedure

(char-c1-code? v)  boolean?

  v : any/c
Returns #t if v is a character and within the C1 range.

procedure

(char-fe-code? v)  boolean?

  v : any/c
Returns #t if v is a character and within the Fe range.

procedure

(char-fs-code? v)  boolean?

  v : any/c
Returns #t if v is a character and within the Fs range.

procedure

(char-fp-code? v)  boolean?

  v : any/c
Returns #t if v is a character and within the Fp range.

procedure

(char-nf-code? v)  boolean?

  v : any/c
Returns #t if v is a character and within the nF range.

2.2 C0 Unicode Symbols🔗ℹ

Unicode defines a set of Control Pictures is a Unicode block containing characters for graphically representing the C0 control codes, and other control characters.

value

c0-symbol/null : char-ascii/c

value

c0-symbol/start-of-heading : char-ascii/c

value

c0-symbol/start-of-text : char-ascii/c

value

c0-symbol/end-of-text : char-ascii/c

value

c0-symbol/end-of-transmission : char-ascii/c

value

c0-symbol/enquiry : char-ascii/c

value

c0-symbol/acknowledge : char-ascii/c

value

c0-symbol/bell : char-ascii/c

value

c0-symbol/backspace : char-ascii/c

value

c0-symbol/horizontal-tabulation : char-ascii/c

value

c0-symbol/line-feed : char-ascii/c

value

c0-symbol/vertical-tabulation : char-ascii/c

value

c0-symbol/form-feed : char-ascii/c

value

c0-symbol/carriage-return : char-ascii/c

value

c0-symbol/shift-out : char-ascii/c

value

c0-symbol/shift-in : char-ascii/c

value

c0-symbol/data-link-escape : char-ascii/c

value

c0-symbol/device-control-one : char-ascii/c

value

c0-symbol/device-control-two : char-ascii/c

value

c0-symbol/device-control-three : char-ascii/c

value

c0-symbol/device-control-four : char-ascii/c

value

c0-symbol/negative-acknowledge : char-ascii/c

value

c0-symbol/synchronous-idle : char-ascii/c

value

c0-symbol/end-of-transmission-block : char-ascii/c

value

c0-symbol/cancel : char-ascii/c

value

c0-symbol/end-of-medium : char-ascii/c

value

c0-symbol/substitute : char-ascii/c

value

c0-symbol/escape : char-ascii/c

value

c0-symbol/file-separator : char-ascii/c

value

c0-symbol/group-separator : char-ascii/c

value

c0-symbol/record-separator : char-ascii/c

value

c0-symbol/unit-separator : char-ascii/c

value

c0-symbol/space : char-ascii/c

value

c0-symbol/delete : char-ascii/c

value

c0-symbol/blank : char-ascii/c

value

c0-symbol/open-box : char-ascii/c

value

c0-symbol/newline : char-ascii/c

value

c0-symbol/delete-form-two : char-ascii/c

value

c0-symbol/substitute-form-two : char-ascii/c

Each value is a representation of a control character in the C0 group. The last 5 values are provided alternatives.

procedure

(char-c0-symbol? v)  boolean?

  v : any/c
Returns #t if v is a character and within the C0 symbol character range.

procedure

(c0-symbol c)  (or/c char-c0-symbol? #f)

  c : char-c0-code?
Returns the symbol associated with c if it is a char-c0-code?, else #f.

Example:
> (map (lambda (c) (or (c0-symbol c) c))
       (string->list "Hello\r\n\tWorld."))

'(#\H #\e #\l #\l #\o #\␍ #\␊ #\␉ #\W #\o #\r #\l #\d #\.)