Common Lisp implementations may use a variety of character sets that adhere to some rules. This complicates writing portable code that interacts with systems expecting a certain representation for characters, such as network services. This library is intended to be a reasonably comprehensive solution for making this easy.
The COMMON-CHARACTER-SETS library was created to serve my needs in anticipation of writing network services and clients in Common Lisp, which generally demand ASCII or Unicode support. I realized code I had for detecting ASCII support could be separated, improved, and expanded upon for this purpose and more. This library defines no package and merely places keywords in *FEATURES*.
The only currently supported character set is ASCII, which places :ASCII in *FEATURES*. The next character set to be supported will be ISO-8859-1, with a keyword to be determined.
It is worth noting that Unicode encoding detection will either be unavailable or only available as a hack of sorts. The intended Unicode keyword is :UNICODE and more keywords will be available for different encodings thereof.
Here is the source and the documentation.