GNU libunistring是否有API来确定一个值是否是UTF16代理项?我刚到这个图书馆,找不到。有人能帮忙吗?
最佳答案
也许uc_general_category()
正是你想要的。如果给它一个UTF-16代码单元,编译器将把16位值扩展到32位,函数将把它解释为一个码位。代码点U+D800-U+DFFF只为代理项保留,因此对于任何UTF-16代理项代码单元,函数都应该返回UC_SURROGATE
。非代理代码单元的数值与其在BMP中的对应代码点相同(仅BMP之外的代码点需要代理项),因此该函数将返回其他值。
关于c - 确定UTF16值在libunistring中替代,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31081261/