ääkkösistä taas

Moro!

Tuossa aiemmin on ollut keskustelun alla se miten c- kielessä saa koodattua ääkköset, yhdessä neuvossa käskettiin etsiä ASCII- taulukosta niiden numerovastaavuudet. Toinen taas (äöäöäö) neuvoi käyttämään samoja koodeja kuin em. taulukossa on, mutta lopussa oli esimerkki
"Tässä on ö" => "T\x84ss\x84 on \x94".

Kysymys kuuluukin jotta mistä ihmeestä noi \x84 ja \x94 oikein pöllähti tähän hommaan? Niillä tosin sain ääkköset toimimaan, toisin kuin ASCII- taulukon antamilla 228, 246, jne. koodeilla.
Vai onko minun taulukon tulkinnassa jotain vikaa kun en löytänyt siitä noita \... juttuja?
2623
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

\x tarkoittaa, että seuraavat yksi tai kaksi merkkiä tulkitaan heksadesimaalinumerona (0, ..9, a, ..f). Yleisesti käytetään myös merkintää 0x84. \x84 on desimaalijärjestelmässä 8*16 4=132 ja \x94 on 9*16 4=148.

http://fi.wikipedia.org/wiki/Heksadesimaalijärjestelmä

Äänestä

Joku jo selittikin sinulle, eli ne ovat vain hexadesimaali muodossa ilmaistuna. Windowsin laskinkin osaa mm. tehdä hexdec muunnoksen (kunhan se on funktiolaskin tilassa). Mainitsemasi koodit (228 = 0xE4 ja 246 = 0xF6) ovat Windowsn ääkösten koodeja (ei DOS:n), joten taulukkosi taitaa olla väärä. Alla on DOS:n ääkkösten koodit C jonossa:

"äöÄÖåÅ" => "\x84\x94\x8E\x99\x86\x8F"

En jaksa noita koodeja kääntää desimaali luvuksi. Otin nuo koodit ihan debuggerilla seuraavasti:

C:\>debug
- e 0100 "äöÄÖåÅ"
- d 0100,0106
155E:0100 84 94 8E 99 86 8F
- q
C:\>

Äänestä

Kommentoi aloitusta


dude kirjoitti:

Moro!

Tuossa aiemmin on ollut keskustelun alla se miten c- kielessä saa koodattua ääkköset, yhdessä neuvossa käskettiin etsiä ASCII- taulukosta niiden numerovastaavuudet. Toinen taas (äöäöäö) neuvoi käyttämään samoja koodeja kuin em. taulukossa on, mutta lopussa oli esimerkki
"Tässä on ö" => "T\x84ss\x84 on \x94".

Kysymys kuuluukin jotta mistä ihmeestä noi \x84 ja \x94 oikein pöllähti tähän hommaan? Niillä tosin sain ääkköset toimimaan, toisin kuin ASCII- taulukon antamilla 228, 246, jne. koodeilla.
Vai onko minun taulukon tulkinnassa jotain vikaa kun en löytänyt siitä noita \... juttuja?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu