草庐IT

c++ - Boost.Locale 和 isprint

我正在寻找一种方法来显示UTF-8字符串,其中的不可打印/无效字符已转义。在ASCII时代,我习惯于使用isprint来决定字符是按原样打印还是转义。使用UTF-8,迭代更加困难,但Boost.Locale做得很好。然而,我没有在其中找到任何东西来决定某个字符是否可打印,甚至实际上是否有效。在下面的源代码中,字符串"Helloあニま➦??⊆?\x02\x01\b\xff\xff\xff"包含一些不可打印的坏人(\b例如)和其他是普通的无效序列(\xff\xff\xff)。我应该执行什么测试来确定字符是否可打印?//BasedonanexampleofBoost.Locale.#incl