Différence entre un code ANSI et un code Unicode !?

Différence entre un code ANSI et un code Unicode !? - Programmation

Marsh Posté le 14-11-2001 à 14:24:46    

bah ouais, j'entend parler des 2, j'pense que, par défaut, en C, j'écrit que de l'unicode. Mais, par curiosité, c quoi au juste !?

Reply

Marsh Posté le 14-11-2001 à 14:24:46   

Reply

Marsh Posté le 14-11-2001 à 14:28:05    

Perdu !
 
Par defaut en C on fait de l'ASCII ou de l'ANSI...
 
pour l'unicode il faut utiliser des wchar_t il me semble...
 
l'unicode est sur 16 bits mais certain caractere peuvent necessiter plusieurs unites de 16 bits...
mais je ne suis pas specialiste de la chose...

Reply

Marsh Posté le 14-11-2001 à 14:28:25    

bah l'unicode c si tu veux supporter tout un tas de caractere exotique (tes caracteres sont codes sur 2o)
 
le support unicode est partiels dans 95/98 et complet dans NT (si je dis pas de connerie)

Reply

Marsh Posté le 14-11-2001 à 14:29:22    

BENB a écrit a écrit :

Perdu !
 
Par defaut en C on fait de l'ASCII ou de l'ANSI...
 
pour l'unicode il faut utiliser des wchar_t il me semble...
 
l'unicode est sur 16 bits mais certain caractere peuvent necessiter plusieurs unites de 16 bits...
mais je ne suis pas specialiste de la chose...  




 
en fait, le fin, c'est d'utiliser TCHAR qui est redefini suivant que tu definisse _UNICODE ou non

Reply

Marsh Posté le 14-11-2001 à 14:33:42    

BENB a écrit a écrit :

Perdu !
 
Par defaut en C on fait de l'ASCII ou de l'ANSI...
 
pour l'unicode il faut utiliser des wchar_t il me semble...
 
l'unicode est sur 16 bits mais certain caractere peuvent necessiter plusieurs unites de 16 bits...
mais je ne suis pas specialiste de la chose...  




 
J'disais pas ça au hasard: je sais que le fonctions de l'API win32 existent en version Ansi, elles s'appellent comme les normale, avec A à la fin. Vu que je pensais qu'il y avait que Ansi et Unicode, j'en ai déduit que si c pas l'un, c l'autre... perdu, c vrai !

Reply

Marsh Posté le 14-11-2001 à 14:42:57    

El_Gringo a écrit a écrit :

 
 
J'disais pas ça au hasard: je sais que le fonctions de l'API win32 existent en version Ansi, elles s'appellent comme les normale, avec A à la fin. Vu que je pensais qu'il y avait que Ansi et Unicode, j'en ai déduit que si c pas l'un, c l'autre... perdu, c vrai !  




celles qui ne finissent pas par A n'utilisent-elle pas de l'OEM ...
 
En fait il y a plusieurs standard... sans remonter a l'antiquite
1 - ASCII sur 7 bits 0->127  
2 - ANSI sur 8 bits plusieurs tables suivants les pays et les claviers identique a l'ASCII de 0->127 ... utilise par le DOS entre autre...
3 - OEM je crois sous win95 et Cie... sur 8 bits tjs id a ASCII 0->127...
4 - Unicode... sur 16 bits au moins...
 
en fait il y a presque un systeme par type de machine et par OS :D

Reply

Marsh Posté le 14-11-2001 à 14:46:50    

oula, merci.
Du coup, je crois que je vais arrêter d'être curieux et que j'vais recommencer à coder sans m'occuper de ça !

Reply

Marsh Posté le 14-11-2001 à 14:50:44    

et tu fait comment pour les traductions de tes prog en chinois? :D

Reply

Marsh Posté le 14-11-2001 à 14:50:48    

El_Gringo a écrit a écrit :

oula, merci.
Du coup, je crois que je vais arrêter d'être curieux et que j'vais recommencer à coder sans m'occuper de ça !  




Voila et tes methodes avec un A servent a recuperer des fichier DOS utilisant des caracteres ANSI non ASCII (128->255)....
 
Enfin je pense...
Mais il y a des specialistes de l'unicode....
Ils viendront certainement corriger et etendre mes dires...

 

[edtdd]--Message édité par BENB--[/edtdd]

Reply

Marsh Posté le 14-11-2001 à 14:52:53    

TheJackal a écrit a écrit :

et tu fait comment pour les traductions de tes prog en chinois? :D  




Deja en Cyrilique, meme pour ceux qui parlent le russe, c'est pas gagne...

Reply

Marsh Posté le 14-11-2001 à 14:52:53   

Reply

Marsh Posté le 14-11-2001 à 14:58:27    

Au lieu de raconter n'importe quoi, vous seriez surement plus utile dans mon autre topic du moment(ou g plus (au sens +) besoin d'aide qu'ici :D
 
Allez, je vous met même un lien pour pas que vous vous fatiguiez... c pas gentil ça !? :D
 
http://forum.hardware.fr/forum2.ph [...] &owntopic=

Reply

Marsh Posté le 14-11-2001 à 15:00:46    

El_Gringo a écrit a écrit :

 
Allez, je vous met même un lien pour pas que vous vous fatiguiez... c pas gentil ça !? :D




 
surtout que c pas interesse du tout :D
 
(sinon desole yi connais rien en DDE )

Reply

Marsh Posté le 14-11-2001 à 15:01:55    

interressé !? moi !? noooon, jammais d'la vie ! :D

Reply

Marsh Posté le 14-11-2001 à 15:02:39    

BENB a écrit a écrit :

 
Voila et tes methodes avec un A servent a recuperer des fichier DOS utilisant des caracteres ANSI non ASCII (128->255)....
 
Enfin je pense...
Mais il y a des specialistes de l'unicode....
Ils viendront certainement corriger et etendre mes dires...  




t'appelle koi des fichiers DOS au juste?

Reply

Marsh Posté le 14-11-2001 à 15:07:34    

TheJackal > Des fichiers(binaires/textes) crees a l'epoque du DOS ou de Windows 3.1 et qui contiennent des chaine de caracteres...
 
Gringo >  
> man DDE
No manual entry for DDE.
 
desolee... :D

Reply

Marsh Posté le 14-11-2001 à 15:09:40    

les A servent aussi pour des fichiers de tous les windows et ce n'est pas que pour les fichier.
 
pour pratiquement toutes les fonctions de l'API Win32 (qui utilise les chaines de char), il existe une version A et W.
les NT ont les deux fonctions mais pas 9x (qui ne supporte pas Unicode au passage) n'a que les A (et qq W mais tres peu)

 

[edtdd]--Message édité par TheJackal--[/edtdd]

Reply

Marsh Posté le 14-11-2001 à 15:12:08    

BENB a écrit a écrit :

TheJackal > Des fichiers(binaires/textes) crees a l'epoque du DOS ou de Windows 3.1 et qui contiennent des chaine de caracteres...
 
Gringo >  
> man DDE
No manual entry for DDE.
 
desolee... :D  




 
Forcément, g oublié de te dire, mais DDE c un mode de communication interprocess... sous windows, seul os digne de ce nom !

Reply

Marsh Posté le 14-11-2001 à 15:12:27    

TheJackal> 1-je ne suis pas absolument sure...
2- les fonctions avec un A servent a manipuler les chaines issues de ces fichiers. pas uniquement a les lires...

Reply

Marsh Posté le 14-11-2001 à 15:13:55    

BENB a écrit a écrit :

 
Voila et tes methodes avec un A servent a recuperer des fichier DOS utilisant des caracteres ANSI non ASCII (128->255)....
 
Enfin je pense...
Mais il y a des specialistes de l'unicode....
Ils viendront certainement corriger et etendre mes dires...  



je ne suis pas spécialiste non plus ... je regarde les sources :D
 
par ex pour un simple textout :
 
#ifdef UNICODE
#define TextOut  TextOutW
#else
#define TextOut  TextOutA
#endif // !UNICODE
 
WINGDIAPI BOOL  WINAPI TextOutA(HDC, int, int, LPCSTR, int);
WINGDIAPI BOOL  WINAPI TextOutW(HDC, int, int, LPCWSTR, int);
 
la version ...A est la version ASCII, la version ...W (pour Wide je suppose) est la version unicode. sous 98/me, en rajoutant un #define UNICODE dans le projet, on se fait jeter à l'éxécution ou à la compil avec un message 'winnt only'.
 
ce qui n'empêche pas du tout d'utiliser les fonctions ...W . un TextOutW(dc, x, y, wstr, strlen(wstr)) marche très bien sous 98/me. on peut afficher du japonais, du russe, bref tous les caractères unicode 16 bits. (à condition d'avoir les fontes évidemment ... arial unicode pèse dans les 20 mos et n'est même pas complète).

Reply

Marsh Posté le 14-11-2001 à 15:14:15    

El_Gringo a écrit a écrit :

 
 
Forcément, g oublié de te dire, mais DDE c un mode de communication interprocess... sous windows, seul os digne de ce nom !  




c'est juste facon de te dire que je ne travaille que sur de veritables OS... pas sur les fenetres mal fermees de monsieur Portes... :D

Reply

Marsh Posté le 14-11-2001 à 15:16:23    

BENB a écrit a écrit :

 
c'est juste facon de te dire que je ne travaille que sur de veritables OS... pas sur les fenetres mal fermees de monsieur Portes... :D  




 
peuuuuuh :D
y'a pas D3D sous nux :D

Reply

Marsh Posté le 14-11-2001 à 15:16:59    

youdontcare a écrit a écrit :

je ne suis pas spécialiste non plus ... je regarde les sources :D
 
par ex pour un simple textout :
 
#ifdef UNICODE
#define TextOut  TextOutW
#else
#define TextOut  TextOutA
#endif // !UNICODE
 
WINGDIAPI BOOL  WINAPI TextOutA(HDC, int, int, LPCSTR, int);
WINGDIAPI BOOL  WINAPI TextOutW(HDC, int, int, LPCWSTR, int);
 
la version ...A est la version ASCII, la version ...W (pour Wide je suppose) est la version unicode. sous 98/me, en rajoutant un #define UNICODE dans le projet, on se fait jeter à l'éxécution ou à la compil avec un message 'winnt only'.
 
ce qui n'empêche pas du tout d'utiliser les fonctions ...W . un TextOutW(dc, x, y, wstr, strlen(wstr)) marche très bien sous 98/me. on peut afficher du japonais, du russe, bref tous les caractères unicode 16 bits. (à condition d'avoir les fontes évidemment ... arial unicode pèse dans les 20 mos et n'est même pas complète).  




Il me semblait pourtant que sous Win32 il y avait des tables differentes que sous win16/DOS... et donc des moyen differents d'y acceder...
Si je me suis trompee, honte sur moi... ;)

Reply

Marsh Posté le 14-11-2001 à 15:18:55    

mais non pas a ce point
 
chrisbk:non mais ya OpenGL :p

Reply

Marsh Posté le 14-11-2001 à 15:19:54    

TheJackal a écrit a écrit :

mais chrisbk:non mais ya OpenGL :p  




 
ne commencons pas, tu veux ? :D

Reply

Marsh Posté le 14-11-2001 à 15:20:37    

pkoi pas? :D

Reply

Marsh Posté le 14-11-2001 à 15:21:22    

tu veux qu'on ressorte le precedent topic en date ? :D
g pas eu de reponse a mon dernier post, si je me souviens bien :D

Reply

Marsh Posté le 14-11-2001 à 15:21:42    

BENB a écrit a écrit :

 
Il me semblait pourtant que sous Win32 il y avait des tables differentes que sous win16/DOS... et donc des moyen differents d'y acceder...
Si je me suis trompee, honte sur moi... ;)  



hmm je sais pas bien si on parle de la même chose. sous win32 y'a bien deux tables de caractères qui coexistent.
 
par ex 'é' : code unicode = 233
alt+233 = Ú
alt+0233 = é
 
par contre comment ça coexiste, je n'en sais rien du tout ... c'est le bordel, ça c'est sûr :D

Reply

Marsh Posté le 14-11-2001 à 15:22:46    

chrisbk a écrit a écrit :

tu veux qu'on ressorte le precedent topic en date ? :D
g pas eu de reponse a mon dernier post, si je me souviens bien :D  




je devais pas etre la

Reply

Marsh Posté le 14-11-2001 à 15:35:14    

J'dois avoir quelque chose d'un esprit malin en moi... dès que je lance un topic, ça part en gueguerre !:D

Reply

Marsh Posté le 14-11-2001 à 15:38:56    

El_Gringo a écrit a écrit :

J'dois avoir quelque chose d'un esprit malin en moi... dès que je lance un topic, ça part en gueguerre !:D  




 
pkoi y'en a d'autre ? :D

Reply

Marsh Posté le 14-11-2001 à 16:09:45    

celui de directX vs opengl...

Reply

Marsh Posté le 14-11-2001 à 16:10:39    

nan je parlais a part celui la, justement .
 
Enfin bref, heuuh...
ca te dis pas un ANSI vs UNICODE ? :D

Reply

Marsh Posté le 14-11-2001 à 16:14:47    

chrisbk a écrit a écrit :

nan je parlais a part celui la, justement .
 
Enfin bref, heuuh...
ca te dis pas un ANSI vs UNICODE ? :D  




 
J'doute que ça déchaine les foules autant que l'autre...
non, à la limite un Windows vs Linux, là, je suis sur qu'on peut même faire exploser le serveur de "Hardware" :D

Reply

Marsh Posté le 14-11-2001 à 16:22:25    

youdontcare a écrit a écrit :

hmm je sais pas bien si on parle de la même chose. sous win32 y'a bien deux tables de caractères qui coexistent.
 
par ex 'é' : code unicode = 233
alt+233 = Ú
alt+0233 = é
 
par contre comment ça coexiste, je n'en sais rien du tout ... c'est le bordel, ça c'est sûr :D  




Je ne pensais pas que c'etait de l'unicode vu que c'est en 8 bits... mais c'est bien a ce genre de chose que je pensais...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed