How can I audit my Windows application for correct Unicode handling?

Viewed 584

I can't use prepackaged Unicode string libraries, such as ICU, because they blow up the size of the binary to an insane degree (it's a 200k program; ICU is 16MB+!).

I'm using the builtin wchar_t string type for everything already, but I want to ensure I'm not doing anything stupid in terms of doing iteration on strings, or things like that.

Are there tools like Fuzzers do for security but for Unicode? That is, throw characters outside of the Basic Multilingual Plane at my code and ensure things get handled correctly as UTF-16?

(Oh, and obviously a cross platform solution works, though most cross platform things would have to support both UTF-8 and UTF-16)

EDIT: Also note things that are less obvious than UTF-16 surrogate pairs -- things like accent marks!

2 Answers
Related