TwEmojis von Symbolen zu HEX/UniCode

  • C#

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Takafusa.

    TwEmojis von Symbolen zu HEX/UniCode

    Hallo zusammen,

    mir liegt ein Dictionary mit ca. 1800 Twitter-Emojis in dieser Form vor (Im VisualStudio werden alle Symbole so dargestellt):



    Angenommen, ich gehe das Dictionary mit foreach durch ...

    C#-Quellcode

    1. Console.OutputEncoding = System.Text.Encoding.Unicode;
    2. foreach (var item in emojis) {
    3. Console.WriteLine(string.Format("{0} - {1}", item.Key, item.Value));
    4. }


    Wie könnte ich aus den Symbolen den entsprechenden UniCode als Hex ausgeben?
    Z.B. in der Form U+1F600

    Irgendwie stehe ich heute auf dem Schlauch :rolleyes:
    Bilder
    • 2021-05-02_143935.png

      12,72 kB, 732×129, 55 mal angesehen
    Dateien
    • TwEmojis.zip

      (67,59 kB, 7 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „simpelSoft“ ()

    Nicht einfach:

    VB.NET-Quellcode

    1. Console.WriteLine(string.Format("{0} - {1}", Hex(item.Key), item.Value));

    ?


    VB.NET-Quellcode

    1. public static class StringHelper
    2. {
    3. public static string ToHexString(this string str)
    4. {
    5. byte[] bytes = str.IsUnicode() ? Encoding.UTF8.GetBytes(str) : Encoding.Default.GetBytes(str);
    6. return BitConverter.ToString(bytes).Replace("-", string.Empty);
    7. }
    8. public static bool IsUnicode(this string input)
    9. {
    10. const int maxAnsiCode = 255;
    11. return input.Any(c => c > maxAnsiCode);
    12. }
    13. }

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Morrison“ ()

    Morrison schrieb:

    ?


    Nee, aber ich habe das "Programm" mal ins Startposting gehängt.



    Nachtrag: Hey, danke für deinen Nachtrag des Strimghelpers - das geht :thumbsup: .

    Quellcode

    1. F09F8F90 - volleyball
    2. F09F8F91 - field hockey
    3. F09F8F92 - ice hockey
    4. F09F8F93 - ping pong
    5. F09F8FB8 - badminton
    6. F09F94AE - crystal ball
    7. F09F95B9 - joystick
    8. F09F9BB7 - sled
    9. F09FA4BF - diving mask
    10. F09FA585 - goal net
    11. F09FA587 - 1st place medal
    12. F09FA588 - 2nd place medal
    13. F09FA589 - 3rd place medal
    14. F09FA58A - boxing glove
    15. F09FA58B - martial arts uniform
    16. F09FA58C - curling stone
    17. F09FA58D - lacrosse
    18. F09FA58E - softball
    19. F09FA58F - flying disc
    20. F09FA7A9 - puzzle piece
    21. F09FA7B8 - teddy bear
    22. F09FA7BF - nazar amulet
    23. F09FAA80 - yo-yo
    24. F09FAA81 - kite

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „simpelSoft“ ()

    Machts mal so, ist einfacher gehalten: ;)

    VB.NET-Quellcode

    1. Dim yellowHeart As Integer = &H1F49B
    2. Dim s As String = Char.ConvertFromUtf32(yellowHeart)
    3. Debug.WriteLine(s)
    4. Debug.WriteLine("U+" & Char.ConvertToUtf32(s, 0).ToString("x2").ToUpper())

    Ereugt diese Ausgbe //das gelbe herz ist zwar beim editieren hier sichtbar, aber nach dem senden nicht mehr.
    U+1F49B
    Die Natur ist bekanntermaßen knallhart, sie sortiert aus was sich nicht bewährt hat.(Harald Lesch, 2021)

    Demnach müssten wir bald dran sein...

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Takafusa“ ()

    simpelSoft schrieb:

    nun stimmt auch der Wert


    Hehe, bei Text-Encodings ist nicht immer alles so wie es scheint. Mit UTF-8 war @Morrison auf dem Holzweg.
    Die Natur ist bekanntermaßen knallhart, sie sortiert aus was sich nicht bewährt hat.(Harald Lesch, 2021)

    Demnach müssten wir bald dran sein...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Takafusa“ ()