Ascii matters

bearophile bearophileHUGS at lycos.com
Thu Aug 23 08:25:11 PDT 2012


Sean Kelly:

> So it throws an exception if there are non-ASCII characters in 
> the range?  Is this really better than just casting the input 
> array to ubyte?

The cast to ubute[] doesn't perform a run-time test of the
validity of the input, so yeah, the exception is better. Your
code is also able to catch and manage the exception (like asking
the user for another valid input file).

If you carry around some type as "Astring", later you don't have
to cast it back to char[] to print the data as a string (this
discussion is about data that is naturally text, this discussion
is not about generic numerical octets).

An appropriate type statically encodes in your program that you
are using an ascii string. This makes your code more readable.
But when in the code you see a variable of generic type ubyte[]
it doesn't tell you a lot about its contents.

Bye,
bearophile


More information about the Digitalmars-d mailing list