FW: First Attempt at Crypto Library

Simon Marlow simonmar@microsoft.com
Tue, 22 Apr 2003 15:16:48 +0100


=20
> > Since we already have a little hierarchy based on the=20
> codec's purpose:
> >     Codec.Image			(e.g. Codec.Image.Jpeg)
> >     Codec.Video			(e.g. Codec.Video.Mpeg2)
> > then how about adding
> >     Codec.Text			(e.g. Codec.Text.Base64)
> > because its role, like uuencoding, is to convert binary streams to
> > 7-bit ASCII text i.e. transmissible by email.
>=20
> I would have thought Codec.Binary.Base64, since in the other=20
> cases (Image
> and Video), the name is for the content you wish to code, not=20
> the format in
> which it is encoded.  e.g. Jpeg is a format for encoding an image in
> binary, while xpm is a format for encoding an image as text,=20
> but both would go under Codec.Image.

I initially thought along these lines, but then concluded that it's not
that simple (or at least, that's not the only interpretation of the
classification).  For example, Jpeg is a coding system which encodes raw
binary image data into jpeg image data: both the source and encoded
result are image data, and they're both binary.  So the term 'Image'
refers to the purpose of the codec, not the source or destination
format.

Looking at it this way, 'Text' is a reasonable classification for a
codec that encodes arbitrary raw binary data into ascii text: the
purpose of the codec is to generate text.  Ok, it's a little bit flimsy,
but IMHO better than Codec.Binary which doesn't tell you anything: most
codecs take binary input.

Cheers,
	Simon