Ich benutze Qt5. Ich habe einen QString, der ein Zeichen U "\ x1D4CC"() hält, das länger als 16 Bits ist. Obwohl dies nur ein Zeichen ist, gibt Qt zurück, dass die Größe dieser Zeichenfolge 2 ist. Gibt es eine Möglichkeit, anzuzeigen, wie viele echte Zeichen ein QString hat, unter der Annahme, dass es 32 Zeichen geben kann?Länge von UTF-32 Zeichen in Qt
5
A
Antwort
3
Unicode-Zeichen mit Code-Werten über 65535 werden unter Verwendung von Ersatzpaaren gespeichert, d.h. zwei aufeinanderfolgende QChars
. QString::length
geben Sie die Zahl QChar
in dieser Zeichenfolge zurück, die sich von der Anzahl der Grapheme (echte Zeichen) unterscheiden kann.
Um die Anzahl der Grapheme zu berechnen, können Sie die Klasse QTextBoundaryFinder verwenden.
QString str = "";
QTextBoundaryFinder finder(QTextBoundaryFinder::Grapheme, str);
int count = 0;
while (finder.toNextBoundary() != -1)
++count;
qDebug() << count;
Oder Sie können Ihre Zeichenfolge zu UCS-4/UTF-32-Darstellung und Berechnung der Anzahl der 32-Bit-Zeichen konvertieren.
QVector<uint> ucs4 = str.toUcs4();
qDebug() << ucs4.size();
Verwandte Themen
- 1. UTF32 und C# Probleme
- 2. Permutation von x Länge von 2 Zeichen
- 3. Trim Zeichen Display Länge
- 4. ist das Zeichen Nullabschluss in der Länge
- 5. Get QString Länge in Bytes (nicht Zeichen)
- 6. Qt codiert nicht das '+' Zeichen
- 7. Unicode-Zeichen in qt App nicht angezeigt
- 8. Neue Unicode-Zeichen in C++ 0x
- 9. Wie kann ich die Leistung von UTF32 zu UTF16 Ersatzpaar Konverter
- 10. Erhalten von mittleren drei Zeichen einer Zeichenfolge mit ungerader Länge
- 11. SQL-Abfrage: Reihenfolge nach Länge der Zeichen?
- 12. Beschränken Sie die Länge der Zeichen in htm in Javascript
- 13. Was ist die Byte-Länge für unterschiedliche Zeichen in Java?
- 14. Split String von Länge in Golang
- 15. get Länge von `wchar_t *` in C++
- 16. jquery limit Text von Länge
- 17. Visual Studio C++ include String maximale Länge
- 18. die Länge der Zeichen in einem Textfeld Begrenzung während Html.EditFor
- 19. CEdit Kontrolle maximale Länge? (in Zeichen kann es angezeigt werden)
- 20. künstliche emboldening kühner nicht für einige Zeichen in qt 5.2.1
- 21. Kopieren des Inhalts eines Zeichen-Arrays zu einem QString in Qt
- 22. Wie die Anzahl der Vorkommen von n-Länge Kombinationen von Zeichen in Zeichenfolge
- 23. Ermitteln der Länge von Nvarchar
- 24. Messen der Länge der Zeichenfolge mit breiten Zeichen
- 25. Wie wird das letzte Zeichen einer Zeichenfolge unbekannter Länge extrahiert?
- 26. Implementieren von Rückruf in Qt
- 27. Erhalten von MouseMoveEvents in Qt
- 28. generieren String-Liste (n Länge) mit m möglichen Zeichen
- 29. Postgres Abfrage count Zeichen und Ordnung durch längste Länge
- 30. Javascript toLowerCase() unterschiedliche Länge mit nicht-lateinischen Zeichen geben