2017-07-05 2 views
-1

Ich schreibe eine Instant-Messaging-App in einer Wolke, und ich habe eine ergänzte Tastatur, die ich nicht ändern kann. Nach meinem Verständnis ist die Tastatur für mein Problem verantwortlich - wenn ich versuche, eine Nachricht mit einem Emoji zu senden, wird das Emoji als ein 6-Byte-Wort dargestellt, während der Cloud-Besitzer einen Sicherheitsmechanismus hat, der nur 4-Byte-Wort zulässt um die Wolke zu erreichen. Das kann nicht geändert werden (ich fragte).Umwandlung von 6-Byte-Emoji zu 4-Byte-Emoji und in der Lage, es zu lesen

Da die Sicherheit und die Tastatur angegeben sind, muss ich einen Weg finden, um die Emoji als 4-Byte vor dem Senden dargestellt werden, oder irgendwie passieren Sie die Sicherheit, aber ich habe kein Wissen in dieser Bereich. Ich verstehe, es gibt eine 4-Byte-Standard-Darstellung zu Emojis, also ich denke, was fehlt ist, wie ich sie auf meinem Handy nach der Eingabe konvertieren und kurz vor dem Senden, und wie ich die Cloud konvertieren sie zurück (oder verstehen, dass neue 4-Byte Sprache).

+0

fügen Sie bitte die Sprache/Framework und die Cloud-Lösung.Wir brauchen etwas mehr Kontext bevor wir das beantworten können: – bolov

+2

gibt es kein 6-Byte-Emoji. Unicode ist ein 21-Bit-Standard und alle können in 4 UTF-8-Code-Einheiten dargestellt werden –

+0

Die Sprache, die ich benutze, ist Java, ich bin nicht sicher über die Wolke. Aber ich bin eher an einer algorithmischen Idee interessiert, die ich dann erarbeiten und an die Situation anpassen kann. über den Unicode - ich gebe zu, ich habe es selbst gesehen, aber der Besitzer behauptet, er schnüffelte das Netzwerk und er sah die Emojis als 6-Byte-Wörter gesendet. Ich habe auch im Internet gesehen, dass viele Emojis eine 3-Byte-Darstellung hatten, also verwende ich vielleicht nicht den richtigen Ausdruck, siehe ein Beispiel hier: http://blog.manbolo.com/2012/10/29/supporting-new -emojis-on-ios-6 –

Antwort

0

Als ich das intenet gesucht, kam ich mit:

  1. ich nicht mit utf-8, wie ich dachte. Die Umgebung, die ich benutzte, implementierte die Cesu-8-Kodierung, die zu 6-Byte- und sogar 8-Byte-Wörtern führte (hauptsächlich aus dem BMP, wie die Emojis, nach denen ich speziell gefragt hatte. Dies denke ich (nach meiner Forschung)
  2. Für die Konvertierung würde ich empfehlen https://stackoverflow.com/a/20090519/8255555 , wie es vielversprechend scheint (tho ich noch überprüfen es selbst, ich dachte, es kann gut sein, jetzt zu erwähnen, weil es dauern kann Zeit für mich, es mit meinem begrenzten Wissen richtig zu testen. Es gibt ein paar mehr Fragen, einige von ihnen beantwortet, zu diesem Thema.
Verwandte Themen