Sample code for 30+ languages & platforms
C

Decode utf-8 Hex to a String

Converts a hex-encoded utf-8 bytes to a string.

Chilkat C Downloads

C
#include <C_CkGlobal.h>
#include <C_CkStringBuilder.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkGlobal glob;
    HCkStringBuilder sb;

    success = FALSE;

    //  Note: We'll want to tell Chilkat that we're passing in utf-8 strings, and we wish to receive utf-8 "const char *" strings.
    //  See Global utf-8
    glob = CkGlobal_Create();
    CkGlobal_putDefaultUtf8(glob,TRUE);

    sb = CkStringBuilder_Create();

    //  Append the hex.  The hex can be uppercase hex or lowercase hex, it doesn't matter.
    success = CkStringBuilder_Append(sb,"D79ED795D7A6D7A8");

    //  Notice the above string contains Hebrew chars using the utf-8 byte representation.
    //  See https://www.loc.gov/marc/specifications/codetables/BasicHebrew.html
    //  For example:  D79E is the HEBREW LETTER MEM

    //  Therefore, when we decode to binary bytes, we must interpret the bytes as utf-8
    //  to get characters.

    //  Tell Chilkat to URL decode like this:
    success = CkStringBuilder_Decode(sb,"hex","utf-8");

    //  sb now contains the decoded string.
    printf("%s\n",CkStringBuilder_getAsString(sb));


    CkGlobal_Dispose(glob);
    CkStringBuilder_Dispose(sb);

    }