may have some of that. The underlying operating systems sometimes also have support for higher-level Unicode tasks such as normalization. For a platform-independent solution, libraries such as ICU
can be used.
In the implementation of Lisp I'm maintaining (HCL, the Common Lisp which runs inside of CoCreate Modeling), we also followed the approach of implementing encoding support in the core rather than in a streams library. All conversions for predefined encodings are done in C/C++ for better performance.