Hi!

<dsm...@roadrunner.com> writes:

> ---- "Ludovic Courtès" <l...@gnu.org> wrote: 

[...]

>>   (define p (open-bytevector-input-port #vu8(255 1 2 3 103 110 117)))
>>   (set-port-conversion-strategy! p 'substitute)
>>   (get-line p)
>> 
>> Here on x86_64-linux-gnu, with libunistring 0.9.3, it returns a
>> 7-character string ending in “gnu”.
>
> scheme@(guile-user)> (use-modules (rnrs))
> scheme@(guile-user)> (define p (open-bytevector-input-port #vu8(255 1 2 3 103 
> 110 117)))
> scheme@(guile-user)> (set-port-conversion-strategy! p 'substitute)
> scheme@(guile-user)> (get-line p)
> $1 = "�\x01\x02\x03gnu"

And this?

    (let* ((t  (make-transcoder (utf-8-codec) (native-eol-style)
                                (error-handling-mode replace)))
           (b  (open-bytevector-input-port #vu8(255 1 2 3 103 110 117)))
           (tp (transcoded-port b t)))
      (port-conversion-strategy tp))

Ludo’.


Reply via email to