EPI-LI-0002

Title

String and file format encoding

One line summary

Provide a unified efficient encoding library that can be reused rather than having each library redo its own implementation.

Status

Not started

Description

We currently have the Eiffel encoding library but this library mostly performs string conversion for the underlying system using the OS specific routines. The idea is to extend the library so that Eiffel encoding/decoding is done without OS specific routines.

This encoding/decoding should work for various kind of streams: sequence of characters, of natural numbers of different size and of different endianness, sequence of bytes in memory, plain text and binary files.

Skills needed

Like to play low level since it will mostly be doing low level bit operations. Like to play with high level abstractions.

Difficulty

Medium

Licensing

EFLv2

Benefit

Student will learn a lot about encoding/decoding of Unicode stream (UTF-7, UTF-8, ...). He will learn about Eiffel and library design since you want to share code for the encoding/decoding part but still reuse it in different context.

Community will benefit by being able to save Unicode streams in the way it wants. For example, it would allow EiffelStudio to read/save Eiffel source code in any of the formats.

Documentation

In the Eiffel source code as well as in http://docs.eiffel.com for the user code.

Submitter

Eiffel Software

Possible mentor

Ian King