Hello,

Although there are existing third-party libraries for character
encoding conversions (including one personal implementation), since ECL
has everything needed for UTF-8 encoding/decoding I think that it'd be
nice if it could out-of-the-box permit conversion between bytes and
strings with the wanted external-format.

If there exists such a facility natively other than reading/writing
files, I'd be happy to know.  What I tried initially was creating a
string stream and trying to change its external-format, but that is not
permitted.

A simple example situation is when decoding URL % HEX HEX escaped
sequences.  If the string containing such a URL to be decoded is
already exists, it needs to be treated as bytes more than characters
for such escaping to happen, and the escaped bytes might represent
UTF-8 characters, which need to be "re-read" into an unicode string.

If there was a facility such as
make-bytes-output-stream/with-output-to-bytes and
make-bytes-input-stream/with-input-from-bytes, for instance, with
customizable external-format, this would be very easy to do.  Of
course, reading from a bytes array would then also be expected to
signal the same errors as when reading from a file.

Or, alternatively, something like (SBCL and Babel, if I remember?)
provide, ext:octets-to-string and ext:string-to-octets with
an :encoding key, yet I'm not sure what the proper interface would be
to deal with decoding errors here, if we wanted to permit resuming.  I
guess that the error condition could contain the offset where the error
was found and/or have a restart like read...

Suggestions? (other than using third party or custom facilities, of
course).  Once we established what interface we want, I could probably
help for the implementation if necessary.

Thanks,
-- 
Matt

------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management 
Up to 160% more powerful than alternatives and 25% more efficient. 
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
Ecls-list mailing list
Ecls-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ecls-list

Reply via email to