To convert byte values to code points, you need to apply an encoding
algorithm, and that's kind of messy.

(I believe the rest of GNU APL kind of assumes that UTF-8 is the standard
encoding used, which does make things simpler).

I have a suggestion: Make ⎕UCS support a dyadic form where the left-hand
side specifies the encoding to use. I.e:

*'UTF-8' ⎕UCS 99 100 101 102*


Handling multiple encodings is easily done through the *libiconv* library.
I worked on it when I made some improvements to its Common Lisp
integration. It's quite simple to use.

Regards,
Elias


On 28 April 2014 12:49, David B. Lamkins <dlamk...@gmail.com> wrote:

> That's close, but libfileio[8] returns a sequence of byte values; not
> code points.
>
> On Mon, 2014-04-28 at 12:19 +0800, Elias Mårtenson wrote:
> > Use the quad function ⎕UCS:
> >
> >
> >       ⎕UCS 'foo⍉bar'
> > 102 111 111 9033 98 97 114
> >       ⎕UCS 102 111 111 9033 98 97 114
> > foo⍉bar
> >
> >
> > Regards,
> > Elias
> >
> >
> > On 28 April 2014 12:17, David B. Lamkins <dlamk...@gmail.com> wrote:
> >         I can use lib_file_io to read a sequence of byte values from a
> >         file
> >         containing Unicode text.
> >
> >         How do I convert that sequence back to a Unicode string in GNU
> >         APL?
> >
> >
> >
> >
> >
>
>
>

Reply via email to