ASCII og Unicode er begge standarder, der henviser til den digitale repræsentation af tekst, specifikt tegn, der udgør tekst. De to standarder er dog væsentligt forskellige, hvor mange egenskaber afspejler deres respektive oprettelsesrækkefølge.

Amerika versus universet

Den amerikanske standardkode for informationsudveksling (ASCII) henvender sig ikke overraskende til et amerikansk publikum og skriver i det engelske alfabet. Det beskæftiger sig med ikke-accenterede bogstaver, såsom AZ og AZ, plus et lille antal tegnsætningssymboler og kontroltegn.

Især er der ingen måde at repræsentere lånord, der er vedtaget fra andre sprog, såsom cafe i ASCII uden at anglicisere dem ved at erstatte tegn med accent (f.eks. cafe). Lokaliserede ASCII-udvidelser blev udviklet til at imødekomme forskellige sprogs behov, men disse bestræbelser gjorde interoperabilitet akavet og strakte klart ASCIIs muligheder.

I modsætning hertil ligger Universal Coded Character Set (Unicode) i den modsatte ende af ambitionsskalaen. Unicode forsøger at imødekomme så mange af verdens skriftsystemer som muligt, i det omfang det dækker gamle sprog og alles yndlingssæt med udtryksfulde symboler, emoji.

instagram viewer

Tegnsæt eller tegnkodning?

Enkelt sagt er et tegnsæt et udvalg af tegn (fx A-Z), mens et tegn kodning er en kortlægning mellem et tegnsæt og en værdi, der kan repræsenteres digitalt (f.eks. A = 1, B = 2).

ASCII-standarden er effektivt begge dele: den definerer det sæt tegn, den repræsenterer, og en metode til at kortlægge hvert tegn til en numerisk værdi.

I modsætning hertil bruges ordet Unicode i flere forskellige sammenhænge til at betyde forskellige ting. Du kan tænke på det som et altomfattende udtryk, som ASCII, for at henvise til et tegnsæt og et antal kodninger. Men fordi der er flere kodninger, bruges udtrykket Unicode ofte til at henvise til det samlede sæt tegn, snarere end hvordan de kortlægges.

Størrelse

På grund af dets omfang repræsenterer Unicode langt flere tegn end ASCII. Standard ASCII bruger et 7-bit interval til at kode 128 forskellige tegn. Unicode er derimod så stor, at vi skal bruge anden terminologi bare for at tale om det!

Unicode henvender sig til 1.111.998 adresserbare kodepunkter. Et kodepunkt er omtrent analogt med et rum, der er forbeholdt en karakter, men situationen er meget mere kompliceret end det, når du begynder at dykke ned i detaljerne!

En mere nyttig sammenligning er, hvor mange scripts (eller skrivesystemer), der i øjeblikket understøttes. Naturligvis håndterer ASCII kun det engelske alfabet, i det væsentlige det latinske eller romerske skrift. Den version af Unicode, der blev produceret i 2020, går meget længere: den inkluderer support til i alt 154 scripts.

Opbevaring

ASCIIs 7-bit rækkevidde betyder, at hvert tegn er gemt i en enkelt 8-bit byte; reservebiten er ubrugt i standard ASCII. Dette gør størrelsesberegninger trivielle: længden af ​​teksten i tegn er filens størrelse i byte.

Du kan bekræfte dette med følgende rækkefølge af bash-kommandoer. Først opretter vi en fil, der indeholder 12 bogstaver tekst:

$ echo -n 'Hej, verden'> foo

For at kontrollere, at teksten er i ASCII-kodning, kan vi bruge fil kommando:

$ fil foo
foo: ASCII-tekst uden linjeterminatorer

Endelig, for at få det nøjagtige antal bytes, som filen optager, bruger vi stat kommando:

$ stat -f% z foo
12

Da Unicode-standarden beskæftiger sig med et langt større antal tegn, tager en Unicode-fil naturligvis mere lagerplads. Præcis hvor meget afhænger af kodningen.

Gentagelse af det samme sæt kommandoer fra før ved hjælp af et tegn, der ikke kan repræsenteres i ASCII, giver følgende:

$ echo -n '€'> foo
$ fil foo
foo: UTF-8 Unicode-tekst uden linjeterminatorer
$ stat -f% z foo
3

Dette enkelt tegn optager 3 byte i en Unicode-fil. Bemærk, at bash automatisk oprettede en UTF-8-fil, da en ASCII-fil ikke kan gemme det valgte tegn (€). UTF-8 er langt den mest almindelige tegnkodning for Unicode; UTF-16 og UTF-32 er to alternative kodninger, men de bruges langt mindre.

UTF-8 er en kodning med variabel bredde, hvilket betyder, at den bruger forskellige lagringsmængder til forskellige kodepunkter. Hvert kodepunkt optager mellem en og fire byte med det formål, at mere almindelige tegn kræver mindre plads, hvilket giver en type indbygget komprimering. Ulempen er, at bestemmelsen af ​​kravene til længde eller størrelse for et givet stykke tekst bliver meget mere kompliceret.

ASCII er Unicode, men Unicode er ikke ASCII

For bagudkompatibilitet repræsenterer de første 128 Unicode-kodepunkter de tilsvarende ASCII-tegn. Da UTF-8 koder hvert af disse tegn med en enkelt byte, er enhver ASCII-tekst også en UTF-8-tekst. Unicode er et supersæt af ASCII.

Som vist ovenfor kan mange Unicode-filer imidlertid ikke bruges i ASCII-sammenhæng. Ethvert tegn, der er uden for grænserne, vises på en uventet måde, ofte med substituerede tegn, der er helt forskellige fra dem, der var beregnet til.

Moderne brug

Til de fleste formål betragtes ASCII stort set som en ældre standard. Selv i situationer, der kun understøtter det latinske skrift - hvor fuld støtte til Unicodes kompleksitet er unødvendigt, for eksempel — det er normalt mere praktisk at bruge UTF-8 og drage fordel af dets ASCII kompatibilitet.

Især websider skal gemmes og transmitteres ved hjælp af UTF-8, som er standard for HTML5. Dette er i modsætning til det tidligere web, der som standard behandlede ASCII, før det blev afløst af Latin 1.

En standard, der ændrer sig

Den sidste revision af ASCII fandt sted i 1986.

I modsætning hertil opdateres Unicode fortsat årligt. Nye scripts, tegn og især nye emoji tilføjes regelmæssigt. Med kun en lille brøkdel af disse tildelte, vil det fulde tegnsæt sandsynligvis vokse og vokse i overskuelig fremtid.

Relaterede: De 100 mest populære emojier forklaret

De 100 mest populære emojier forklaret

Der er så mange emojier, at det kan være svært at vide, hvad de alle betyder. Her er de mest populære emojier forklaret.

ASCII versus Unicode

ASCII tjente sit formål i mange årtier, men Unicode har nu effektivt erstattet det til alle andre praktiske formål end ældre systemer. Unicode er større og dermed mere udtryksfuld. Det repræsenterer en verdensomspændende samarbejdsindsats og tilbyder langt større fleksibilitet, omend på bekostning af en vis kompleksitet.

E-mail
Hvad er ASCII-tekst, og hvordan bruges den?

ASCII-tekst ser ud til at være kryptisk, men den har mange anvendelser rundt på internettet.

Relaterede emner
  • Teknologi forklaret
  • Emojis
  • Jargon
  • Webkultur
  • Unicode
Om forfatteren
Bobby Jack (23 artikler offentliggjort)

Bobby er en teknologientusiast, der arbejdede som softwareudvikler i det meste af to årtier. Han brænder for spil, arbejder som Reviews Editor i Switch Player Magazine og er fordybet i alle aspekter af onlineudgivelse og webudvikling.

Mere fra Bobby Jack

Abonner på vores nyhedsbrev

Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!

Et trin mere !!!

Bekræft venligst din e-mail-adresse i den e-mail, vi lige har sendt dig.

.