In C++ - Ebene möchte ich Emoji-String wie ":smile:"
zu Unicode "\u{1f604}"
ändern, die IOS unterstützt.
Allerdings unterstützt C++ diesen Typ nicht, \u
muss mit Ziffer folgen. Dann ändere ich Unicode zu "\\u{1f604}"
. Jetzt kann es gut in C++ - Ebene arbeiten, aber wenn ich diese Zeichenfolge an IOS-Ebene übergebe, ändert IOS diese Zeichenfolge nicht automatisch in Emoji.
Könnten Sie mir bitte ein paar Ideen geben?
Es tut mir leid, dass ich es nicht klar beschrieben habe.
In meinem Projekt parse ich Json vom Server in C++ - Ebene und dann übermittle ich diese Daten auf IOS-Ebene.pass emoji Unicode von cpp Core-Level auf iOS Ebene
Antwort
Um Codepunkte über U + FFFF in C++ zu entschlüsseln, müssen Sie \U
gefolgt von acht Hex-Ziffern verwenden (erfordert C++ 11 oder höher). Je nach der gewünschten Codierung, können Sie eine der folgenden Stringliteral Formulare:
u8"\U0001f604" // UTF-8, type const char[]
u"\U0001f604" // UTF-16, type const char16_t[]
U"\U0001f604" // UTF-32, type const char32_t[]
Sie könnten eine NSString Klassenmethode schreiben, die einen NSInteger enthält einen Codepunkt als Argument und gibt eine NSString * mit einem einzigen Unicode-Zeichen, das diesen Codepunkt enthält.
Um dies zu implementieren, wenn der CodePoint < = 0xffff ist dann übersetzen Sie es in eine einzige unichar, andernfalls konvertieren Sie es in ein Array von zwei Unichars, einem hohen Ersatz und einem niedrigen Ersatz (Google zur Erklärung). Verwenden Sie dann eine der vorhandenen NSString-Methoden, um diese in NSString zu konvertieren.
Conversion-Codepunkt in High/Low-Ersatz: Subtrahieren 0x10000. Hohes Surrogat = 0xd800 + (Codepunkt >> 10); niedriger Ersatz = 0xdc00 + (Codestelle & 0x3ff).
Beispiel:
NSString* smile = [NSString stringWithCodePoint:0x1f604];
- 1. IOS Emoji Unicode-Liste
- 2. Farbe für Unicode Emoji
- 3. Emoji edicttext sollte Unicode
- 4. Inkonsistente Unicode Emoji Glyphen/Symbole
- 5. Convert Unicode zu Emoji
- 6. Python - Lesen von Emoji-Unicode-Zeichen
- 7. Print Unicode Emoji von API-Antwort
- 8. Swift Prevent Emoji Darstellung von Unicode-Zeichen
- 9. entfernen Unicode Emoji re in Python
- 10. Dynamisch erstellen NSString mit Unicode Emoji
- 11. Drucken Python Emoji als Unicode-String
- 12. Emoji Unterstützung für iOS und Android
- 13. IOS NSCharacterSet für Emoji und lateinische Zeichen
- 14. Suche nach Tweets mit Unicode-Zeichen/Apple Emoji?
- 15. Fix fehlende Unicode-Symbol auf Safari/iOS
- 16. Wie zeige ich Emoji in UILabel iOS
- 17. Zeige Emoji Tastatur programmatisch in iOS 9.0
- 18. In Emoji
- 19. In-App Emoji Tastatur
- 20. Emoji nicht in NSAttributedString angezeigt, wenn mit iOS-Tastatur eingegeben, tut bei Eingabe auf Android
- 21. Verhindern HTML-Entity-Konvertierung zu Emoji
- 22. Verwendung von Emoji in Haskell
- 23. Emoji von Android zum Web
- 24. So drucken Sie Unicode-Zeichen U-1F4A9 'Haufen von Poo' Emoji
- 25. Zugang Pass-Strategie von Pass
- 26. Umgang mit Emoji in PHP
- 27. Emoji in einem UILabel anzeigen?
- 28. Unicode-Zeichen xn - ls8h
- 29. iOS: Pass boolean Wert durch segue
- 30. Wie verhindert man, dass iOS Ascii in Emoji konvertiert?
Wahrscheinlich können Sie einen Scheck in Ihrem iOS-Code, ob String beginnt oder enthält '\\ u {1f604}' betrachten einzelnen Schrägstrich '\ u {1f604} '. – NightFury
Sind Sie sicher, dass dies nicht nur eine andere Art ist, das gleiche Zeichen darzustellen? Was Sie in C++ brauchen, ist vielleicht "\ u15604". OTOH, das Emoji befindet sich außerhalb der mehrsprachigen Grundebene. Wenn Sie UTF16 verwenden, müssen Sie es möglicherweise als Ersatzpaar codieren. –