bytevector->string(3scm) Scheme Programmer's Manual bytevector->string(3scm)

bytevector->string - transcode a bytevector to a string

(import (rnrs))                     ;R6RS
(import (rnrs io ports))            ;R6RS

(bytevector->string bytevector transcoder)

Returns the string that results from transcoding bytevector according to the input direction of transcoder.

Returns a single value; a string.

(bytevector->string #vu8(81 117 117 120) (native-transcoder))
        => "Quux"
(bytevector->string #vu8(#xff)
                    (make-transcoder (utf-8-codec)
                                     (native-eol-style)
                                     (error-handling-mode raise)))
        => &i/o-decoding

This procedure is a more general alternative to utf8->string(3scm).

This procedure is unique to R6RS.

This procedure can raise exceptions with the following condition types:
&assertion (R6RS)
The wrong number of arguments was passed or an argument was outside its domain.
&i/o-decoding (R6RS)
A sequence of bytes was encountered that could not be translated into a string, and transcoder's error-handling-mode is raise.

string->bytevector(3scm), utf8->string(3scm), open-bytevector-output-port(3scm), make-transcoder(3scm)

R6RS

This procedure first appeared in R6RS as part of the redesigned I/O system.

This page is part of the scheme-manpages project. It includes materials from the RnRS documents. More information can be found at https://weinholt.se/scheme/manpages/.

2020-05-14