> Hvilken type streng er det, std::string eller std::wstring (unicode)?
std::string
> Og hvordan tilføjer du? (laver du bare en replace på =C6 -> æ, eller
> parser du rent faktisk escape-sekvensen? (det første er den sikre vej til
> vedligeholdelses-undergang)
Jeg leder endoded-word igennem fra start af. Jeg finder hhv. =?iso-8859-1?q?
og ?= og imellem dem kigger jeg på hvert tegn. Hvis =XX forekommer erstatter
jeg med det kodede tegn.
>> ok, det leder mig hen til et spørgsmål jeg ikke har fået svar på endnu.
>> Hvordan ved oversætteren hvilket tegnsæt der skal oversættes til?
>
> Det er ikke oversætteren der står for tegnsæt-konverteringen i dette
> tilfælde.
>
> Efter du har dekodet et header felt (eller body'en) fra quoted-printable
> eller base64 står du med en 8 bit tekst i en nærmere angivet tegnsæt (eks.
> ISO-8859-1).
> Tegnsættet kunne lige så godt være KOI8-R (Kyrillisk) eller UTF-8 (en 8
> bit kodnings form af Unicode).
Nårh ja :) Men hvornår bliver denne 8-bit streng tolket og af hvad og
hvordan tolkes den (altså hvilket tegnsæt?).
Når jeg eksempelvis skriver denne streng til en edit-kontrol, hvad er det så
der bestemmer hvordan strengen tolkes?
> Hvis du er igang med at lave et program der skal virke med forskellige
> tegnsæt, er det mest hensigstmæssigt at representere den parsede tekst som
> Unicode (std::wstring). Det er så her du benytter MultiByteToWideChar for
> at lave konverteringen fra tegnsæt/codepage til Unicode.
ok. I en edit control skal jeg kunne vise strenge kodet i iso-8859-1 og
iso-8859-15 og måske UTF-8. De kommer alle fra headere fra usenet. UTF-8
forekommer ikke så tit så den parser jeg ikke, men viser blot encoded-word.
De andre to har jeg fået til at virke for de mest almindelige tegn ("Æ",
"Ø", "Å", "æ", "ø", "å", ",", ":", "?", osv.) De to tegnsæt er jo stort set
ens så jeg satser på at der ikke forekommer så underlige tegn :) Hvis der
gør sker der ikke meget ved det. Jeg bruger blot programmet til at vise en
oversigt over nye beskeder i en bunke grupper på usenet.
> Håber det giver mening..
Jaaa, lidt :) Jeg er ikke stærk i det her :)
Jacob