Unicode i c

Unicode i c
Unicode er et sett med ikke-engelske karakterer som kan være karakterer fra et annet språk som arabisk, hebraisk osv. Karakterkoding gikk for en kast da forskjellige mennesker fra forskjellige regioner i verden begynte å koding på sine lokale språk. På grunn av det ble hele kommunikasjonsprosessen ved datamaskiner påvirket. Så for å håndtere dette problemet, kom Unicode -konsortiet inn i bildet som var en gruppe forskjellige mennesker fra forskjellige regioner og forskjellige selskaper hvis hovedoppgave var å kode alle karakterene som finnes i verden på en slik måte at det ikke er noen tvister.

Unicode startet med et fast to-byte karaktersett, men senere ble det endret. Unicode består av mer enn hundre tusen tegn og over hundre språk for å håndtere det enorme mangfoldet av forskjellige språk, inkludert komplekse tegn som emojier, modifikatorer og andre ukjente tegn.

Hvis vi prøver å skrive ut en spesiell karakter som en emoji på C -språk, vil ikke kompilatoren gi resultatet av utskrift som emoji. Snarere returnerer den en kode for den emojiene som ikke vil være nyttig for brukeren. For å løse denne saken, vil vi øve på Unicode -prosessen i C.

Syntaks:

For å skrive ut en Unicode på C -språk, bruker vi en funksjon som heter_setmode der vi definerer karakterbitene. I den følgende figuren gir vi U16 som en parameter, så den skriver ut bare tegnene med 16 bitsgrense. Som standard skriver c -språk bare 8 bit tegn.

Vi bruker wprintf i stedet for printf -funksjonen for å skrive ut linjen. Og vi vil sette L i begynnelsen av uttalelsen om at vi vil skrive ut. Bortsett fra følgende syntaks, må vi også legge til to inkluderer hvilke som er:

#inkludere
#inkludere

Merk: Unicode er ikke en funksjon eller metode i C, så det er ingen spesifikk syntaks til den. Syntaksen vedlagt her er bare for referanse.

Eksempel 1:

Vi vil få en bedre forståelse av emnet ved å følge dette eksemplet. I figuren kan du forstå at vi importerte to ekstra biblioteker til koden vår. Den ene er og den andre er . De lar oss lage de nye datatypene for å lagre spesialtegnene i dem. På C-språk brukes overskriften til å definere de stedsbaserte innstillingene for eksempel symboler som valutaer og forskjellige datoformater.

I hovedfunksjonskodeblokken kalte vi en SetLocale () -funksjon. Dette er funksjonen til overskriften. I SetLocale () -funksjonen passerte vi en parameter av LC_CTYPE. Denne funksjonen har mange parametere som LC_ALL som angir alt. LC_CTYPE påvirker alle karakterfunksjonene. Den definerer karakterattributtene som casekonvertering og karakterklassifiseringer.

Etter det erklærer vi to variabler av WCHAR_T Datatype: Star1 og Star2. Vi passerte Unicode for den emojiene til variablene våre. Etter det skrev vi verdiene til variablene våre. Vi diskuterte tidligere at vi bruker WPrintf for Unicode -utskrift. Vi kan også se i følgende kode at vi brukte wprintf i stedet for printf.

#inkludere
#inkludere
#inkludere
int main ()

setLocale (LC_CTYPE, "");
WCHAR_T STAR1 = 0x2606;
WCHAR_T STAR2 = 0x2605;
WPrintf (L "Black Star: %LC \ n", Star1);
WPrintf (L "White Star: %LC \ n", Star2);

Etter vellykket utførelse av C -koden vår, får vi følgende utdata. Vi kan se at i stedet for å skrive ut verdiene som vi har gitt til konstantene våre, trykket systemet to stjerner. Dette er fordi vi passerte Unicode for disse stjernene til variablene våre. Deretter, på grunn av SetLocale () -funksjonen og dens LC_CTYPE -parameter, sjekket systemet tegnet mot den spesifikke koden og fant en svart -hvit stjerne mot den verdien. Vi brukte også WPrintf, så systemet trykket tegnet mot den passerte verdien av Black Star og White Star.

Eksempel 2:

I forrige eksempel brukte vi en kompleks metode for å la deg forstå hvordan Unicoding fungerer. I dette eksemplet vil vi utføre en oppgave å skrive ut en Unicode ved hjelp av så mindre kodelinjer som mulig. Avhengig av operativsystemet til datamaskinen eller maskinen din, kan du også skrive ut Unicode -tegnene ved bare å bruke Printf -funksjonen. Men for det formålet, må du passere en verdi \ u for å gi kompilatoren beskjed om at den må skrive ut et Unicode -tegn.

I dette eksemplet prøver vi å trykke et smilefjes som er en ikke-engelsk karakter. Vi gir unicode -verdien til den emojien til koden vår. I følgende kode skrev vi ganske enkelt ut en melding "Hallo der" med en smiley på slutten av uttalelsen. Koden for Happy Smiley er “0001F600”. Så vi passerte det med start med \ u akkurat som hvordan du skriver ut en streng \ s, slik at systemet forstår at det må skrive ut en streng.

En ting du kanskje har lagt merke til er at vi ikke har brukt overskriftene som vi brukte i forrige eksempel. Dette er fordi vi ikke bruker disse funksjonene og teknikkene for å la systemet lese Unicode -tegnene.

#inkludere
int main ()

printf ("Hei der: \ u0001f600 \ n");
retur 0;

Utgangen fra koden vår etter samlingen er som følger. Systemet skriver ut karaktermeldingen slik det er, men det leser først tegnet og forstår at den neste verdien som sendes til det er en unicode. Så systemet vil forstå at det må konvertere neste kode til sin respektive emoji. Etter å ha konvertert verdien til Unicode -tegnene, vil systemet vise smilefjeset som en utgang.

Konklusjon

Vi diskuterte om unicoding i denne artikkelen. Vi forklarte hva en Unicode -karakter er, hvorfor den brukes og hva var grunnene til at Unicoding Standard ble introdusert. Vi diskuterte hvordan vi skal operere med Unicode -tegnene på C -språket, da C -språk gir støtte for bare rundt 256 tegn. I de gitte eksemplene forklarte vi hvordan vi kan kode et sett med verdier til en unicode -emoji eller karakter. Etter hele forklaringen som tidligere ble gitt, kan vi si at unicoding er en veldig nyttig tilnærming til å takle kommunikasjonsbroen. Ved hjelp av Unicode -utviklere og programmerere fra hvert hjørne av verden kan vi kode og skrive programmene på deres språk. På toppen av det kan hele applikasjonene utvikles på forskjellige språk som hjelper dem å bli mer forståelige og lesbare for brukerne. Unicoding hjelper til med å endre UI -språkene til ikke bare applikasjonene, men også for hele operativsystemet. Så unicoding er ikke en spesifikk funksjon eller bibliotek på C -språket. Det er en internasjonal kodingsstandard som kan brukes på ethvert programmeringsspråk.