Avatar billede Lasse Novice
19. april 2005 - 18:30 Der er 6 kommentarer og
1 løsning

ASCII og UNICODE og ?

Jeg oensker en forklaring paa forskellen mellem unicode, ascii, etc. Jeg er total groen, og har lidt svaert ved at forstaa det!

Jeg skal have lavet et program hvorfra en international bruger kan indtaste en streng. Til at starte med vil jeg tillade foelgende karakter:

normale karaketer: abcdefghijklmnopqrstuvxyz
specielle karaketer: wæøåñáéíóúäëïöüâêîôû-¿?¡!

Hvis jeg fra et program skyder denne tekst ud til en fil fra c++(CreateFile, WriteFile, CloseHandle), saa er der ingen af disse tegn der kraever 2 bytes.
Hvis jeg kigger paa HEX vaerdierne fra disse, saa passer de ikke med dem fundet på www.asciitable.com. Hvordan kan dette være?
Programmet skal køre på en masse maskiner verden over. Alle disse maskiner skal kontakte forskellige servere. Hvad vil i råde mig til her... brug af UniCode, Ascii etc?
Et problem jeg kan se er: Jeg flytter noget tekst fra en maskine til en server. I virkeligheden flytter jeg en stavl bytes, som tolkes til at være tekst. Hvordan kan jeg være sikker på at maskinen og serveren tolker bytesne på samme måde?
Avatar billede arne_v Ekspert
19. april 2005 - 18:38 #1
ASCII er en mapning mellem det engelske alfabet + diverse gængse tegn og
bytes 0-127.

UNICODE er en mapning mellem stort set alle tegn kendt på denne jord og tal.

Disse tal encodes så i bytes. UTF-8 encoding encoder de tegn som er i ASCII i 1
byte og de gængse vesteuropæiske tegn i 2 byte.
Avatar billede arne_v Ekspert
19. april 2005 - 18:39 #2
"Extended ASCII Codes" på det link du angiver har intet med UNICODE at gøre men
er en gammel DOS standard.
Avatar billede arne_v Ekspert
19. april 2005 - 18:40 #3
Du kan slå UNICODE værdierne op her http://www.unicode.org/charts/
Avatar billede driis Nybegynder
19. april 2005 - 18:48 #4
Må jeg anbefale at du læser denne:
http://www.joelonsoftware.com/articles/Unicode.html
Avatar billede Lasse Novice
19. april 2005 - 19:55 #5
driis>> interessant artikel. Helt klart noget af det jeg soeger - en god forklaring.

Lad os antage at jeg skal have lagt en tekst op i en mssql database. Jeg har teksten i WCHAR* format (UCS-2). Idet jeg laegger den ind i en database hvori kolonnen er erklaeret som nvarchar (UCS-2), saa er alt vel perfekt. Hvad sker der hvis jeg laegger det ind i en kolonne erklaeret som varchar. Saa sker der vel en fejl, eller hvad? I det hele taget, saa er c++ typerne og mssql typerne kun beregnet til fixed bytelaengde encodings, ik' sandt?
Avatar billede Lasse Novice
20. juni 2005 - 18:21 #6
driss.... det var et virkelig god artikkel, og pointene gaar dertil... Med et svar...
Avatar billede driis Nybegynder
23. juni 2005 - 13:55 #7
Her er et 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