Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3788 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  C# - Caractères spéciaux. System.Text

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

C# - Caractères spéciaux. System.Text

n°718177
meumeul
Stay Heavy
Posté le 07-05-2004 à 09:56:17  profilanswer
 

Bonjour,
 
je cherche a mettre des caractères speciaux genre <cr> dans un string ou StringBuilder peu importe. Je dois donc utiliser des ASCIIEncoder et decoder.
 
le probleme et que ca encode pour par exemple <cr> le caractère < pui c pui r pui >. au lieu davoir un octet, je me retrouve avec 4...
 
Une idée ? merci


Message édité par meumeul le 07-05-2004 à 10:49:34
mood
Publicité
Posté le 07-05-2004 à 09:56:17  profilanswer
 

n°718535
Taz
bisounours-codeur
Posté le 07-05-2004 à 12:54:12  profilanswer
 

\r \n \t \tamere ?

n°718649
meumeul
Stay Heavy
Posté le 07-05-2004 à 13:57:44  profilanswer
 

lol non. jai un string qui contient <cr> et je veut fabriquer un char avec ca
 
edit: en clair je veux un char de code ascii <cr>  :D


Message édité par meumeul le 07-05-2004 à 13:58:43
n°718660
Taz
bisounours-codeur
Posté le 07-05-2004 à 14:05:17  profilanswer
 

'\r'

n°718722
meumeul
Stay Heavy
Posté le 07-05-2004 à 14:44:45  profilanswer
 

mouais. d´accord. alors fo que je cherche la liste de tous les \tameremachinchose...

n°718723
meumeul
Stay Heavy
Posté le 07-05-2004 à 14:44:53  profilanswer
 

merci

n°721440
meumeul
Stay Heavy
Posté le 11-05-2004 à 09:31:45  profilanswer
 

Bon je vais essayer détre plus clair parce que la je trouve toujours pas.
ce aue je veux c passer des trois etats:
 
par exemple pour un symbole vertical tab
jai dans un string : <VT>
et je veux a partir de ca avoir dan un char: \0x0B
ou pkoi pas dans un int: 11
 
Merci !  :bounce:

n°721522
HelloWorld
Salut tout le monde!
Posté le 11-05-2004 à 10:16:21  profilanswer
 

tu te le code...

n°721603
meumeul
Stay Heavy
Posté le 11-05-2004 à 11:12:54  profilanswer
 

HelloWorld a écrit :

tu te le code...


 
oui c ce que je fais...
Je me suis fait un fichier avec pour chaque ligne
un char ascii sous la forme VT ou CR ... dans l´ordre.
Pi je lis ce foutu fichier, et en fonction du numéro de la ligne ou je trouve le caractère que je cherche(apres comparaison de mon string "<VT>" avec la ligne lue par exemple ), je fais un cast du genre
 

Code :
  1. char toto = (char) numeroLigne;


 
et apres ca je peux faire ce que je veux.
Mais je trouve ca vrément crade.
Doit bien y avoir une classe secrète ou il ya une représentation sous forme <CR> ou CR. Menfin ca marche koi... mais ca me plait pas  :sweat:  
 

n°721727
Taz
bisounours-codeur
Posté le 11-05-2004 à 12:19:15  profilanswer
 

\v :o

mood
Publicité
Posté le 11-05-2004 à 12:19:15  profilanswer
 

n°721753
meumeul
Stay Heavy
Posté le 11-05-2004 à 12:43:23  profilanswer
 


 
ouais mais \v c pareil...
ca donne un truc du genre

Code :
  1. monString="<VT>";
  2. if (monString.equals(...
  3. ....


 
avec pleins de test qui ne servent a rien Donc ca va pas du tout


Message édité par meumeul le 11-05-2004 à 12:44:52
n°721756
Taz
bisounours-codeur
Posté le 11-05-2004 à 12:45:11  profilanswer
 

mais cai quoi ton problème à la fin ?

n°722747
meumeul
Stay Heavy
Posté le 12-05-2004 à 08:11:08  profilanswer
 

Taz a écrit :

mais cai quoi ton problème à la fin ?


 
lol
 
Mon problème ct:
 
Jai un string qui contient par exemple "<cr>" ou alors "<VT>", ect...
Et je veux construire le bon char a partir de ce string
 
genre

Code :
  1. char toto = (char) getAsciiFromFormeLouche("<cr>" );


 
et la dans toto il ya le char numero 13.
 
En bref, passer des 4 octets a 1 seul, de la représentation a la valeur réelle.
 
Je sais pas si je suis encore clair... :)

n°722971
HelloWorld
Salut tout le monde!
Posté le 12-05-2004 à 11:41:15  profilanswer
 

Code :
  1. static char getAsciiFromFormeLouche( string S )
  2. {
  3.     switch ( S )
  4.     {
  5.     case "<cr>" : return '\x0013';
  6.     case "<vt>" : return '\x000B';
  7.     ...
  8.     }
  9. }

n°722973
HelloWorld
Salut tout le monde!
Posté le 12-05-2004 à 11:41:59  profilanswer
 

Citation :

En bref, passer des 4 octets a 1 seul,


Au passage, char c'est des char UNICODE, et ils font 2 octets.

n°723083
meumeul
Stay Heavy
Posté le 12-05-2004 à 13:10:43  profilanswer
 

HelloWorld a écrit :

Citation :

En bref, passer des 4 octets a 1 seul,


Au passage, char c'est des char UNICODE, et ils font 2 octets.


 
oups, completement vrai, pardon.
ton switch est une bonne idée, j´y plus ou moins pensé.
Ce aue jai fait, c du readline dans un fichier texte ou ya les 29 premier symboles "pas affichable" de la table ascii et je cast le numéro de la ligne en char et ca passe tout seul
 
Merci pout votre aide a tous les deux.

n°723127
Taz
bisounours-codeur
Posté le 12-05-2004 à 13:59:30  profilanswer
 

"<cr>"
 
 
mais c'est quoi ces conneries, je capte rien, pourquoi t'écris pas '\r' et on en parle plus bordel :o

n°723192
HelloWorld
Salut tout le monde!
Posté le 12-05-2004 à 14:21:56  profilanswer
 

Citation :

jai un string qui contient <cr> et je veut fabriquer un char avec ca


Taz veut savoir pkoi tu as une string qui contient "<cr>" et pkoi tu peux pas avoir "\r" directement dedans.

n°723218
Taz
bisounours-codeur
Posté le 12-05-2004 à 14:28:47  profilanswer
 

parce que sinon, c'est remplacement à coup de regex, mais dans tous les cas, la chaine de départ est inutilement et mal formatée

n°723526
meumeul
Stay Heavy
Posté le 12-05-2004 à 16:28:21  profilanswer
 

Taz a écrit :

parce que sinon, c'est remplacement à coup de regex, mais dans tous les cas, la chaine de départ est inutilement et mal formatée


 
Bon alors je vais raconter my life...
 
Je dois echanger des focuments HL7 (texte pur) (des fichiers médicaux) avec un protocole de merde apellés MLLP. tout ca dans un paquet TCP et on envoit.
 
Le principe de ce putain de protocole  :pt1cable: :
 

Code :
  1. This version MLLP of the LLP differs significantly from other LLPs in that it has only a single byte to signal the start of a message and two bytes to signal the end of a message.  There is no other lower level header or trailer information.  There are no other characters added to the HL7 message.


 
donc je dois mettre un bybyte au debut et deux a la fin.
le truc c que dans le soft on doit pour choisir les chars de début. mais c chars (de 0 a 31 dans la table ascii) nónt pour la qusi totalité pas de représentation graphique.
 
donc jutilise la notation <..> dans un combobox par exemple. le gugus choisi, moi je recupere lindex du combobox et je le transforme en char. je le met en entete de mon message et c parti. pareil pour les deux byte de fin de message.
 
et pou remplir le combo box, au load de la forme, je li dans un fichier texte les 31 <..> Voila.
 
Sauf que je trouve ca tres tres crade. et je cherhais une fonction qui existe deja qui passe de <CR> a 13 par exemple.
 
Mais aperrement ca existe pas donc voila.  
 
Ai je été plus clair ? :D

n°723533
HelloWorld
Salut tout le monde!
Posté le 12-05-2004 à 16:34:55  profilanswer
 

Oui c'est crade, bien plus que de coder en dur ta liste d'initialisation de ta combo box.

n°723548
meumeul
Stay Heavy
Posté le 12-05-2004 à 16:45:54  profilanswer
 

ouije crois qur tu as raison en fait :) vé surement le modifier.

n°739742
meumeul
Stay Heavy
Posté le 26-05-2004 à 13:30:29  profilanswer
 

Code :
  1. public static ArrayList getAsciiList() {
  2.   ArrayList list = new ArrayList();
  3.   list.Add("NUL" );
  4.   list.Add("SOH" );
  5.   list.Add("STX" );
  6.   list.Add("ETX" );
  7.   list.Add("EOT" );
  8.   list.Add("ENQ" );
  9.   list.Add("ACK" );
  10.   list.Add("BEL" );
  11.   list.Add("BS" );
  12.   list.Add("HT" );
  13.   list.Add("LF" );
  14.   list.Add("VT" );
  15.   list.Add("FF" );
  16.   list.Add("CR" );
  17.   list.Add("SO" );
  18.   list.Add("SI" );
  19.   list.Add("DLE" );
  20.   list.Add("DC1" );
  21.   list.Add("DC2" );
  22.   list.Add("DC3" );
  23.   list.Add("DC4" );
  24.   list.Add("NAK" );
  25.   list.Add("SYN" );
  26.   list.Add("ETB" );
  27.   list.Add("CAN" );
  28.   list.Add("EM" );
  29.   list.Add("SUB" );
  30.   list.Add("ESC" );
  31.   list.Add("FS" );
  32.   list.Add("GS" );
  33.   list.Add("RS" );
  34.   list.Add("US" );
  35.   return list;
  36.  }

n°739747
Taz
bisounours-codeur
Posté le 26-05-2004 à 13:31:02  profilanswer
 

un tableau, c'est trop facile ...
 
et surtout recréer à chaque fois un truc bien défini depuis des dizaines d'années ...


Message édité par Taz le 26-05-2004 à 13:31:31
n°740368
meumeul
Stay Heavy
Posté le 26-05-2004 à 16:53:37  profilanswer
 

ben ouais mais je vois pas ou le chopper sinon :(

n°740401
Taz
bisounours-codeur
Posté le 26-05-2004 à 17:10:14  profilanswer
 

mais boulay, fais un un tableau readonly de string et quand ton te demande la table, ascii, tu renvoie une référence

n°741006
meumeul
Stay Heavy
Posté le 27-05-2004 à 09:12:49  profilanswer
 

Citation :

et surtout recréer à chaque fois un truc bien défini depuis des dizaines d'années ...


 
je parlais de ca moi. pas du probleme du tableau.
 
Boulay toi meme :D


Message édité par meumeul le 27-05-2004 à 09:13:15
n°741009
Taz
bisounours-codeur
Posté le 27-05-2004 à 09:16:03  profilanswer
 

c'est toi qui a pas compris : y a aucun intéret de recrée à chaque fois dans un conteneur dynamique quelque chose de totalement invariant

n°741061
meumeul
Stay Heavy
Posté le 27-05-2004 à 09:50:52  profilanswer
 

si ca javais compris. et etant donné que je men sert un seule fois au constructeur de la forme principale, jmen fout.
 

n°741063
Taz
bisounours-codeur
Posté le 27-05-2004 à 09:51:51  profilanswer
 

n'empêche
 
et bordel, utilise les propriété :o

n°741236
meumeul
Stay Heavy
Posté le 27-05-2004 à 11:14:12  profilanswer
 

ouais daccord pour le nempeche.
 
utilise les proprietes ?

n°741244
Taz
bisounours-codeur
Posté le 27-05-2004 à 11:18:33  profilanswer
 

- soit fais un attribut public
- soit utilise les propriété : on a jamais vu de get/set en C# bordel :o

n°741455
meumeul
Stay Heavy
Posté le 27-05-2004 à 12:56:58  profilanswer
 

Taz a écrit :

- soit fais un attribut public
- soit utilise les propriété : on a jamais vu de get/set en C# bordel :o


 

Code :
  1. Object c;
  2. c.GetHashCode();
  3. c.GetType();


 
hin hin. nan mais je vois ce que tu veux dire.
 
tu parles de ces trucs la je suppose
 

Code :
  1. public Ahah nom{
  2. get { return this.ahah;}
  3. set { this.ahah= value;}
  4. }


 
ok c fait, c mieux.
Bref sinon le probleme est reglé koi
Merci, meme si tu tenerves un peu vite hin :D

n°741787
HelloWorld
Salut tout le monde!
Posté le 27-05-2004 à 15:48:31  profilanswer
 

Taz, guru du C#


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°742583
meumeul
Stay Heavy
Posté le 28-05-2004 à 08:54:24  profilanswer
 

HelloWorld a écrit :

Taz, guru du C#


 :)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  C# - Caractères spéciaux. System.Text

 

Sujets relatifs
les apostrophes et les caractères spéciaux ...Faire une boucle avec des Text Box en VB
transformer les caractères ayant un sens "spécial" en HTMLCaractères ASCII & php
Petit soucis avec manipulation fichier + chaine de caractères - VBcaractère speciaux sous access
. : Flash : . Text Editorprob avec fonction system()
afficher un text a une certaine coordonnée sous linux en c 
Plus de sujets relatifs à : C# - Caractères spéciaux. System.Text


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)