I have a simple question about unicode and utf8.

How does a utf8 encoding know what its uppercase encoding is? I understand how utf8 encoding carries its unicode value embedded in itself but I fail to see how it maps a utf8 encoding to an uppercase unicode value. What is the mechanism which maps utf8 encodings to uppercase encodings or the other features available in the unicode universe?


Do you mean something like this?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char**argv)
    /*make sure str1 is padded with enough room*/
    char str1[] = {'H','e','l','l','o',',',' ','W','o','r','l','d','\0',' ',' ', ' ', ' ', ' ', ' '};
    char str2[] = "this is more text";

    fprintf(stdout, "str1->%s\n", str1);
    fprintf(stdout, "str2->%s\n", str2);

    /*append text*/

    strcat(str1, &str2[12]);

    fprintf(stdout, "str1->%s\n", str1);