Unicode en C

Unicode en C
Unicode est un ensemble de personnages non anglais qui peuvent être des personnages d'une langue différente comme l'arabe, l'hébreu, etc., ou peuvent être des personnages spéciaux comme les emojis et les visages souriants. L'encodage du personnage est allé pour un lancer lorsque différentes personnes de différentes régions du monde ont commencé à encoder dans leurs langues locales. Pour cette raison, l'ensemble du processus de communication par les moyens des ordinateurs a été affecté. Donc, pour gérer ce problème, le consortium Unicode est entré en scène qui était un groupe de personnes différentes de différentes régions et différentes entreprises dont la tâche principale était de coder tous les personnages qui existent dans le monde de telle manière qu'il n'y a pas de litige.

Unicode a commencé avec un jeu de caractères fixe de deux octets mais plus tard, il a été changé. Unicode se compose de plus de cent mille caractères et de plus d'une centaine de langues pour gérer la vaste multitude de langues différentes, y compris des personnages complexes comme les emojis, les modificateurs et d'autres caractères inconnus.

Si nous essayons d'imprimer un personnage spécial comme un emoji en langue C, le compilateur ne donnera pas le résultat de l'impression que les emoji ne. Il renvoie plutôt un code pour cet emoji qui ne sera pas utile pour l'utilisateur. Pour résoudre cette question, nous pratiquerons le processus Unicode en C.

Syntaxe:

Pour imprimer un Unicode dans le langage C, nous utilisons une fonction nommée_setmode dans laquelle nous définissons les bits de caractère. Dans la figure suivante, nous donnons U16 comme paramètre, il imprime donc uniquement les caractères avec une limite de 16 bits. Par défaut, la langue C imprime uniquement les caractères 8 bits.

Nous utilisons le wprintf au lieu de la fonction printf pour imprimer la ligne. Et nous mettrons L au début de la déclaration que nous voulons imprimer. En dehors de la syntaxe suivante, nous devons également en ajouter deux incluse: qui sont:

#inclure
#inclure

Remarque: Unicode n'est pas une fonction ou une méthode en C, il n'y a donc pas de syntaxe spécifique. La syntaxe jointe ici est juste pour référence.

Exemple 1:

Nous aurons une meilleure compréhension du sujet en suivant cet exemple. Dans la figure, vous pouvez comprendre que nous avons importé deux bibliothèques supplémentaires dans notre code. L'un est et l'autre est . Cela nous permet de créer les nouveaux datatypes pour stocker les caractères spéciaux en eux. Dans le langage C, l'en-tête est utilisé pour définir les paramètres basés sur la localisation par exemple des symboles comme les devises et différents formats de date.

Dans le bloc de code de fonction principal, nous avons appelé une fonction setLocale (). C'est la fonction de l'en-tête. Dans la fonction setLocale (), nous avons passé un paramètre de LC_CTYPE. Cette fonction a de nombreux paramètres comme LC_ALL qui définit tout. LC_CTYPE affecte toutes les fonctions de caractère. Il définit les attributs de caractère comme la conversion de cas et les classifications de personnages.

Après cela, nous déclarons deux variables du type de données WCHAR_T: Star1 et Star2. Nous avons passé l'Unicode pour cet emoji à nos variables. Après cela, nous avons écrit les valeurs de nos variables. Nous avons discuté plus tôt que nous utilisons le wprintf pour l'impression Unicode. Nous pouvons également voir dans le code suivant que nous avons utilisé le wprintf au lieu de printf.

#inclure
#inclure
#inclure
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);

Après l'exécution réussie de notre code C, nous obtenons la sortie suivante. Nous pouvons voir qu'au lieu d'imprimer les valeurs que nous avons transmises à nos constantes, le système a imprimé deux étoiles. C'est parce que nous avons passé l'Unicode pour ces étoiles à nos variables. Ensuite, en raison de la fonction setLocale () et de son paramètre LC_CTYPE, le système a vérifié le caractère contre ce code spécifique et a trouvé une étoile en noir et blanc contre cette valeur. Nous avons également utilisé le wprintf, donc le système a imprimé le personnage contre la valeur passée de Black Star et White Star.

Exemple 2:

Dans l'exemple précédent, nous avons utilisé une méthode complexe pour vous permettre de comprendre comment fonctionne uncoding. Dans cet exemple, nous effectuerons une tâche pour imprimer un Unicode avec l'aide de aussi moins de lignes de code que possible. Selon le système d'exploitation de votre ordinateur ou de votre machine, vous pouvez également imprimer les caractères Unicode en utilisant simplement la fonction printf. Mais à cette fin, vous devrez passer une valeur \ u pour faire savoir au compilateur qu'il doit imprimer un caractère Unicode.

Dans cet exemple, nous essayons d'imprimer un visage souriant qui est un personnage non anglais. Nous passons la valeur Unicode de cet emoji à notre code. Dans le code suivant, nous avons simplement imprimé un message «bonjour» avec un smiley à la fin de la déclaration. Le code pour Happy Smiley est «0001f600». Donc, nous l'avons passé en commençant par \ u comme la façon dont l'impression d'une chaîne est passé afin que le système comprenne qu'il doit imprimer une chaîne.

Une chose que vous avez peut-être remarquée, c'est que nous n'avons pas utilisé les en-têtes que nous avons utilisés dans l'exemple précédent. En effet, nous n'utilisons pas ces fonctions et techniques pour permettre au système de lire les caractères Unicode.

#inclure
int main()

printf ("Bonjour: \ u0001f600 \ n");
retour 0;

La sortie de notre code après la compilation est la suivante. Le système imprime le message de caractère tel qu'il est mais il lit d'abord le signe \ u et comprend que la valeur suivante qui y est transmise est un Unicode. Ainsi, le système comprendra qu'il doit convertir le code suivant en ses emoji respectifs. Après avoir converti la valeur en caractères Unicode, le système affichera la face souriante en tant que sortie.

Conclusion

Nous avons discuté de Unicoding dans cet article. Nous avons expliqué ce qu'est un personnage Unicode, pourquoi il est utilisé et quelles étaient les raisons pour lesquelles la norme Unicoding a été introduite. Nous avons discuté de la façon de fonctionner avec les caractères Unicode dans la langue C car la langue C ne prend en charge que environ 256 caractères. Dans les exemples donnés, nous avons expliqué comment nous pouvons coder un ensemble de valeurs dans un emoji ou un caractère Unicode. Par toute l'explication qui a été donnée auparavant, nous pouvons dire que le unicodage est une approche très utile pour lutter contre le pont de communication. Avec l'aide de développeurs et de programmeurs Unicode de tous les coins du monde, nous pouvons coder et écrire les programmes dans leurs langues. En plus de cela, les applications entières peuvent être développées dans différentes langues, ce qui les aide à devenir plus compréhensibles et lisibles pour les utilisateurs. Unicoding aide à modifier les langues d'interface utilisateur non seulement les applications, mais aussi sur l'ensemble du système d'exploitation. Ainsi, uncodage n'est pas une fonction ou une bibliothèque spécifique dans le langage C. Il s'agit d'une norme de codage internationale qui peut être appliquée dans n'importe quel langage de programmation.