This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.
Source for wiki BinaryIoCowan version 3
author
cowan
comment
ipnr
127.11.51.1
name
BinaryIoCowan
readonly
0
text
== Input and output ==
The default value of ''port'' is the current input or output port, as appropriate. It is an error if the ports passed to these procedures are not binary ports. The [type] values are defined in BytevectorsCowan.
`(read-[type] ` [ ''port'' ]`)`
Reads the appropriate number of bytes from ''port'' in native byte order and returns a number of the appropriate type (exact integer or inexact real or complex number).
`(read-[type]le ` [ ''port'' ]`)`
Reads the appropriate number of bytes from ''port'' in little-endian byte order and returns a number of the appropriate type (exact integer or inexact real or complex number).
`(read-[type]be ` [ ''port'' ]`)`
Reads the appropriate number of bytes from ''port'' in big-endian ("network") byte order and returns a number of the appropriate type (exact integer or inexact real or complex number).
`(write-[type] `''number'' [ ''port'' ]`)`
Writes ''number'' to ''port'' in the appropriate format using native byte order.
`(write-[type]le `''number'' [ ''port'' ]`)`
Writes ''number'' to ''port'' in the appropriate format using little-endian byte order.
`(write-[type]be `''number'' [ ''port'' ]`)`
Writes ''number'' to ''port'' in the appropriate format using big-endian ("network") byte order.
`(read-ber-integer ` [ ''port'' ]`)`
Reads a [https://en.wikipedia.org/wiki/X.690#BER_encoding BER]-encoded integer of arbitrary size from ''port'' and returns it as an exact integer.
`(write-ber-integer ` ''exact-integer'' [ ''port'' ]`)`
Writes ''exact-integer'' using [https://en.wikipedia.org/wiki/X.690#BER_encoding BER] encoding to ''port''.
`(read-utf8-string ` ''k'' [ ''port'' ]`)`
`(read-utf16-le-string ` ''k'' [ ''port'' ]`)`
`(read-utf16-be-string ` ''k'' [ ''port'' ]`)`
Read ''k'' bytes from ''port'', interpreting them as a sequence of characters encoded in UTF-8, UTF-16LE, or UTF-16BE, and return the sequence as a string. It is an error if the implementation forbids any of the characters in strings, except that if the implementation forbids null characters in strings and the final character is a null, then it is discarded.
`(write-utf8-string ` ''string'' [ ''port'' ]`)`
`(write-utf16-le-string ` ''string'' [ ''port'' ]`)`
`(write-utf16-be-string ` ''string' [ ''port'' ]`)`
Convert the characters of ''string'' to UTF-8, UTF-16LE, or UTF-16BE, and write the bytes to ''port''. It is an error if the implementation forbids any of the characters in strings.
`(read-utf8-string-until `''byte'' [ ''port'' ]`)`
Read bytes from ''port'' until a byte equal to ''byte'' is read. Interpret all the other bytes as a sequence of characters encoded in UTF-8, and return two values, the character sequence as a string and the terminating byte as a character.
== Implementation ==
See [http://srfi.schemers.org/srfi-56/srfi-56.html SRFI 56] for implementation.
time
2017-08-09 08:55:07
version
3