KEYTAB
Die Zeichensätze
Bei dem Zeichensatz "UTF-7" handelt es sich nicht um
einen Zeichensatz, wie z.B. "Windows Codepage 1252", sondern
vielmehr um eine Codierung von Unicode-Zeichen.
Der von KEYTAB implementierte Algorithmus zur Umwandlung von
Unicode in UTF-7 lautet im C-Source:
if( lunicode == atariPlusUnicode )
{
string[0] = '+';
string[1] = '-';
used = 2;
}
else if( lunicode < 0x80 )
{
string[0] = (char)(lunicode & 0xFF);
used = 1;
}
else if( lunicode < 0x10000l )
{
string[0] = '+';
string[1] = base64[(lunicode >> 10) & 0x3F];
string[2] = base64[(lunicode >> 4) & 0x3F];
string[3] = base64[(lunicode << 2) & 0x3F];
string[4] = '-';
used = 5;
}
else if( lunicode < 0x110000l )
{
long c = uniMakeSurrogate(lunicode);
string[0] = '+';
string[1] = base64[(c >> 26) & 0x3F];
string[2] = base64[(c >> 20) & 0x3F];
string[3] = base64[(c >> 14) & 0x3F];
string[4] = base64[(c >> 8) & 0x3F];
string[5] = base64[(c >> 2) & 0x3F];
string[6] = base64[(c << 4) & 0x3F];
string[7] = '-';
used = 8;
}
Copyright © Martin Elsässer (eMail-Adressen)
Letzte Aktualisierung am 12. Dezember 2006
|