Avatar billede fedtoere Praktikant
13. maj 2008 - 09:59 Der er 6 kommentarer og
1 løsning

Konverteringsregler fra UTF-8 til Windows Codepage-1252

Jeg skal bruge konverteringsreglerne når man konverterer fra UTF-8 format til Windows-1252.
Jeg har "google't" lidt dog uden at finde det svar jeg søger, derfor smider jeg spørgsmålet her på eksperten.
Jeg ønsker reglerne der skal benyttes i skifte fra UTF-8 til Windows-1252, dvs jeg skal have oplysning om hvordan der ændres fra flere bytes tegnværdier til enkelt byte værdier i windows-1252.
Avatar billede mxs Nybegynder
13. maj 2008 - 10:01 #1
Kan du måske bruge denne tabel til noget, http://en.wikipedia.org/wiki/Windows-1252?
Avatar billede fedtoere Praktikant
13. maj 2008 - 10:25 #2
Den kender jeg godt, men det jeg ønsker er en formel eller lign hvor jeg kan se hvordan jeg konverterer fra det ene format til det andet. Jeg vil helst undgå at skulle gennemgå hele karaktersættet manuelt.
Avatar billede arne_v Ekspert
13. maj 2008 - 15:12 #3
Du kan enten kalde et hav af mystiske Win32 API funktioner eller selv kode det. Det sidste
er faktisk nemmere !!

Nedenstaaende kode klarer alle de europaiske tegn i unicode:

void atou(const char* sin, char *sout)
{
    int ix, i, v;
    ix = 0;
    for(i = 0; i <= strlen(sin); i++)
    {
        v = (unsigned char)sin[i];
        if(v < 128)
        {
            sout[ix] = v;
            ix++;
        }
        else
        {
            sout[ix] = 0xC0 | (v / 64);
            ix++;
            sout[ix] = 0x80 | (v % 64);
            ix++;
        }
    }
}

void utoa(const char* sin, char *sout)
{
    int ix, i, v, sav;
    ix = 0;
    for(i = 0; i <= strlen(sin); i++)
    {
        v = (unsigned char)sin[i];
        switch(v & 0xC0)
        {
            case 0xC0:
                sav = v & 0x3F;
                break;
            case 0x80:
                sout[ix] = (sav << 6) | (v & 0x3F);
                ix++;
                break;
            default:
                sout[ix] = v;
                ix++;
                break;
        }
    }
}
Avatar billede arne_v Ekspert
13. maj 2008 - 15:13 #4
Det skal udvides lidt for at klare alle de asiatisk ogsaa, men da de jo alligevel
ikke eksisterer i CP-1252 saa formdoer jeg at det er ligegyldigt.
Avatar billede fedtoere Praktikant
18. juni 2008 - 15:04 #5
Tak, jeg fandt også dokumentation for konvertering af dette på www.
Avatar billede fedtoere Praktikant
18. juni 2008 - 15:05 #6
Arne hvis du smider et svar får du point.
Avatar billede arne_v Ekspert
18. juni 2008 - 15:15 #7
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester