Unicode w c

Unicode w c
Unicode to zestaw postaci nieanglojęzycznych, które mogą być postaciami z innego języka, takiego jak arabski, hebrajski itp. Lub mogą być postaciami specjalnymi, takimi jak emoji i buźki. Kodowanie postaci poszło na rzut, gdy różni ludzie z różnych regionów świata zaczęli kodować w lokalnych językach. Z tego powodu wpłynął na cały proces komunikacji za pomocą komputerów. Tak więc, aby poradzić sobie z tym problemem, konsorcjum Unicode weszło na obraz, który był grupą różnych ludzi z różnych regionów i różnych firm, których głównym zadaniem było zakodowanie wszystkich postaci, które istnieją na świecie w taki sposób, że nie pozostały sporów.

Unicode rozpoczął się od ustalonego zestawu znaków dwupajowskich, ale później został zmieniony. Unicode składa się z ponad stu tysięcy znaków i ponad sto języków, aby obsłużyć ogromną mnóstwo różnych języków, w tym złożone postacie, takie jak emoji, modyfikatory i inne nieznane postacie.

Jeśli spróbujemy wydrukować specjalną postać, taką jak emoji w języku C, kompilator nie da wyniku drukowania tego emoji. Raczej zwraca kod dla tego emoji, który nie będzie pomocny dla użytkownika. Aby rozwiązać tę sprawę, będziemy ćwiczyć proces Unicode w C.

Składnia:

Aby wydrukować Unicode w języku C, używamy funkcji o nazwie_setMode, w której definiujemy kawałki charakteru. Na poniższym rysunku podajemy U16 jako parametr, więc drukuje tylko postacie z limitem 16 -bitowym. Domyślnie język C drukuje tylko 8 -bitowe znaki.

Używamy WPRINTF zamiast funkcji PrintF do wydrukowania linii. I umieścimy L na początku oświadczenia, które chcemy wydrukować. Oprócz poniższej składni musimy również dodać dwa obejmujące:

#włączać
#włączać

Uwaga: Unicode nie jest funkcją ani metodą w C, więc nie ma w niej konkretnej składni. Dołączona tutaj składnia jest po prostu do odniesienia.

Przykład 1:

Lepiej zrozumiemy ten temat, postępując zgodnie z tym przykładem. Na rysunku możesz zrozumieć, że zaimportowaliśmy dwie dodatkowe biblioteki do naszego kodu. Jeden jest, a drugi . Pozwala nam utworzyć nowe dane danych do przechowywania w nich znaków specjalnych. W języku C nagłówek służy do definiowania ustawień opartych na lokalizacji, na przykład symboli, takich jak waluty i różne formaty daty.

W głównym bloku kodu funkcji nazwaliśmy funkcję setLocale (). To jest funkcja nagłówka. W funkcji setLocale () przeszliśmy parametr LC_CTYPE. Ta funkcja ma wiele parametrów, takich jak LC_ALL, który ustawia wszystko. LC_CTYPE wpływa na wszystkie funkcje znaków. Definiuje atrybuty znaków, takie jak konwersja przypadków i klasyfikacje znaków.

Następnie zadeklarujemy dwie zmienne WCLE_T DataType: Star1 i Star2. Przekazaliśmy Unicode dla tego emoji do naszych zmiennych. Następnie napisaliśmy wartości naszych zmiennych. Omówiliśmy wcześniej, że używamy WPRINTF do drukowania Unicode. W poniższym kodzie widzimy również, że użyliśmy WPRintf zamiast printf.

#włączać
#włączać
#włączać
int main ()

setLocale (lc_ctype, „”);
wchar_t Star1 = 0x2606;
wchar_t Star2 = 0x2605;
Wprintf (l "czarna gwiazda: %lc \ n", gwiazda1);
Wprintf (L "White Star: %LC \ n", Star2);

Po pomyślnym wykonaniu naszego kodu C, otrzymujemy następujące dane wyjściowe. Widzimy, że zamiast drukować wartości, które przekazaliśmy do naszych stałych, system wydrukował dwie gwiazdy. Jest tak, ponieważ przekazaliśmy Unicode dla tych gwiazd do naszych zmiennych. Następnie, ze względu na funkcję setLocale () i jej parametru LC_CTYPE, system sprawdził znak w stosunku do tego konkretnego kodu i znalazł czarno -białą gwiazdę w stosunku do tej wartości. Użyliśmy również Wprintf, więc system wydrukował postać w stosunku do wartości Black Star i White Star.

Przykład 2:

W poprzednim przykładzie zastosowaliśmy złożoną metodę, aby zrozumieć, jak działa unikoding. W tym przykładzie wykonamy zadanie, aby wydrukować Unicode za pomocą jak najbardziej mniejszych linii kodu. W zależności od systemu operacyjnego komputera lub komputera można również wydrukować znaki Unicode, po prostu za pomocą funkcji PrintF. Ale w tym celu będziesz musiał przekazać wartość, aby poinformować kompilatora, że ​​musi wydrukować znak Unicode.

W tym przykładzie staramy się wydrukować buźkę, która jest postacią nieanglojęzyczną. Przekazujemy wartość Unicode tego emoji do naszego kodu. W poniższym kodzie po prostu wydrukowaliśmy wiadomość „Witaj” z buźką na końcu instrukcji. Kod Happy Smiley to „0001f600”. Więc minęliśmy, zaczynając od \ u, podobnie jak wydrukowanie ciągu jest przekazywane, aby system zrozumiał, że musi wydrukować ciąg.

Jedną rzeczą, którą mogłeś zauważyć, jest to, że nie użyliśmy nagłówków, których użyliśmy w poprzednim przykładzie. Dzieje się tak, ponieważ nie używamy tych funkcji i technik, aby system odczytał znaki Unicode.

#włączać
int main ()

printf („Witaj: \ u0001f600 \ n”);
powrót 0;

Wyjście naszego kodu po kompilacji jest następujące. System drukuje komunikat postaci, ale najpierw odczytuje znak \ u i rozumie, że następną wartością, która jest do niego przekazana. Tak więc system zrozumie, że musi przekonwertować następny kod na odpowiedni emoji. Po przekształceniu wartości w znaki Unicode system będzie wyświetlał buźkę jako wyjście.

Wniosek

W tym artykule omówiliśmy o unikodowaniu. Wyjaśniliśmy, czym jest postać Unicode, dlaczego jest używany i jakie były powody, dla których standard Unicoding został wprowadzony. Omówiliśmy, jak działać z znakami Unicode w języku C, ponieważ język C zapewnia obsługę tylko około 256 znaków. W danych przykładach wyjaśniliśmy, w jaki sposób możemy zakodować zestaw wartości w emoji lub charakter Unicode. W ramach całego wyjaśnienia, które zostały wcześniej podane, możemy powiedzieć, że Unicoding jest bardzo pomocnym podejściem do walki z mostem komunikacyjnym. Z pomocą programistów i programistów Unicode z każdego zakątka świata możemy kodować i pisać programy w ich językach. Ponadto całe aplikacje można opracować w różnych językach, co pomaga im stać się bardziej zrozumiałym i czytelnym dla użytkowników. Unicoding pomaga zmienić języki interfejsu użytkownika nie tylko aplikacji, ale także całego systemu operacyjnego. Tak więc unicoding nie jest konkretną funkcją ani biblioteką w języku C. Jest to międzynarodowy standard kodowania, który można zastosować w dowolnym języku programowania.