从QChar检索Unicode代码点> U + FFFF

Seb*_*zus 7 unicode qt codepoint astral-plane qchar

我有一个应用程序,应该处理各种字符,并在某些时候显示有关它们的信息.我在QChar,QString等中使用Qt及其固有的Unicode支持.

现在我需要QChar的代码点来查找http://unicode.org/Public/UNIDATA/UnicodeData.txt中的一些数据,但QChar的unicode()方法只返回一个ushort(unsigned short),这通常是是0到65535(或0xFFFF)之间的数字.有些代码点> 0xFFFF的字符,所以如何获取这些字符?是否有一些技巧我缺少或目前Qt/QChar不支持?

Del*_*ani 7

每个QChar都是UTF-16值,而不是完整的Unicode代码点.因此,非BMP字符由两个QChar代理对组成.

  • 该死,这使事情复杂化.但是谢谢. (4认同)
  • @SebastianNegraszus那么,你是怎么解决这个问题的? (3认同)