begin process at 2010 02 10 07:54:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

[C#] Table ASCII non standard ???


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[C#] Table ASCII non standard ???

mardi 5 avril 2005 à 17:45:10 | [C#] Table ASCII non standard ???

nitrique

Bonjour @ tous,

Je dois récuperer des informations d'un périférique et les transformer en codes ASCII, rien de bien sorcier... POURTANT !

Le "s" de ASCII veut bien dire standard, nan ?
Je vais donc chercher une table:
[ Lien ]

Je transforme mes caractères comme ceci:
(int)MonTexte[0])
Et il me retourne: 8364 alors que dans la table ASCII élargie, c'est le code 128
(et c'est bien celui la que j'entends retrouver)
J'ai aussi essayé
(byte)MonTexte[0])
Le résultat est plus proche (172) mais ce n'est pas encore ça.

J'ai regardé la table ASCII de msdn pour C# et il n'indique pas €, mais, à sa place un ç majuscule
(et c'est pareil pour les autres caractères de la table étendue)


Qu'est ce qu'il se passe ?
Comment récuperer le bon code ?

Merci d'avance.


David, à VERSAILLES

mercredi 6 avril 2005 à 11:47:12 | Re : [C#] Table ASCII non standard ???

nitrique

En clair, je donne le caractère € (ou tout autre caractère de la table ASCII étendue) et il faut que ça me retourne 128 (ou l'équivalent pour les autres)


David, à VERSAILLES
samedi 9 avril 2005 à 10:30:20 | Re : [C#] Table ASCII non standard ???

Warny

Salut,

Le dotnet ne code pas ses chaîne en ASCII mais en unicode, si tu veux retrouver ta valeur ascii il faut faire :
System.Text.ASCIIEncoding.ASCII.GetBytes(MonTexte)[0]
Qui est un peu barbare il faut l'avouer.
Mais à mon sens il est plus sage de faire le test :
MonTexte[0]=='€'

Console.Out.WriteLine("Warny")
Il y a 10 types de personnes
Ceux qui comptent en binaire... et les autres
samedi 9 avril 2005 à 10:34:11 | Re : [C#] Table ASCII non standard ???

Warny

Elle ne serait pas un peu foireuse la table que tu a trouvée

128 10101100
chez moi 128 en binaire ça fait plutôt 10000000

Console.Out.WriteLine("Warny")
Il y a 10 types de personnes
Ceux qui comptent en binaire... et les autres
lundi 11 avril 2005 à 08:52:09 | Re : [C#] Table ASCII non standard ???

nitrique

C'est ce que je commence à me dire car tu as raison, 128 c'est bien 10000000.
Mais moi, si je fait (int)"€", il me renvoye 128 mais pas l'inverse ???

N'est ce pas à ce moment qu'il y a un pb ?


David, à VERSAILLES
lundi 11 avril 2005 à 09:18:39 | Re : [C#] Table ASCII non standard ???

Warny

Attention il faut faire la distinction entre (int)"€" et (int)'€'
le premier essaye de convertir la chaîne de caractère (et ne devrait même pas se compiler)
le deuxième converti le caractère

10101100 en binaire me donne 172 en décimal

mais conseil c'est : ne converti pas les valeurs !!!!! tu risques de te retrouver devant des résultats inattendus :
il vaut mieux faire
MaChaine[x] == '€'
que
(int)MaChaine[x] == (int)'€'

Console.Out.WriteLine("Warny")
Il y a 10 types de personnes
Ceux qui comptent en binaire... et les autres
lundi 11 avril 2005 à 11:50:34 | Re : [C#] Table ASCII non standard ???

nitrique

En fait, je n'utilise pas les guillemets, c'était pour l'exemple (mais c tout de même bon à savoir).

Voici mon code:

int ligneMod = (int)ligne[ligne.Length-3];

je récupère une ligne qui a été codée en basic.
En fait, c'est pour passer des valeurs de 0 à 255 entre 2 programmes, on utilise donc des bits au lieu de chaines, c plus sur.
Du coté basic, il fait (comparaison en C): (char)128 et moi, quand je lis la string (car il y a plusieurs caractères), ce bit est représenté sous le char €, et il me renvoye le code ASCII 8000 et des brouettes.


David, à VERSAILLES

lundi 11 avril 2005 à 11:55:05 | Re : [C#] Table ASCII non standard ???

Warny

Ok,
Alors si ligne est un tableau de byte, il faut d'abord le convertir un chaîne ou directement le traiter en byte.
Pour les conversions, il faut utiliser :
System.text.ASCIIEncoding.ASCII.GetString(byte[], offset, length)
System.text.ASCIIEncoding.ASCII.GetBytes(string)



Console.Out.WriteLine("Warny")
Il y a 10 types de personnes
Ceux qui comptent en binaire... et les autres
lundi 11 avril 2005 à 12:14:31 | Re : [C#] Table ASCII non standard ???

nitrique

Heu...

en fait, tu me conseilles de faire:

ligne = System.Text.ASCIIEncoding.ASCII.GetString(ligne);

ligne = System.Text.ASCIIEncoding.ASCII.GetBytes(ligne);


C ça ?

pour la première, il me dit: impossible de convertir de 'string' en 'byte[]'
et pour le 2, c le contraire: Impossible de convertir implicitement le type 'byte[]' en 'string'

C quoi alors ma string si ce n'est ni une string ni un tableau de bytes ?

désolé de te torturer.

Je ne sais pas ce qu'est l'offset


David, à VERSAILLES

lundi 11 avril 2005 à 12:16:06 | Re : [C#] Table ASCII non standard ???

nitrique

Pour l'offset, c'est le début du tableau, j'ai donc mis 0 et pour length, j'ai mis ligne.length-1 mais ça pète dans les paramètres


David, à VERSAILLES

1 2

Cette discussion est classée dans : table, récuperer, ascii, caractères, standard


Répondre à ce message

Sujets en rapport avec ce message

Chaine de caractères ascii en Date [ par mamamiya92 ] Bonjour à tous, Tout d'abord, je demande de l'indulgence aux expérimentés. On n'a pas la même facilité de compréhension, surtout lorsqu'on est débutan Inserer dans table qui n'a qu'une clé primaire [ par sspizer ] Bonjour,J'aimerai pouvoir ajouter une ligne dans ma base à une table qui ne  contient qu'une colonne qui est une clé primaire autoincrement.MyTable(My Conception [ par Djzlouk ] Bonjour, Petit probleme de conception.J'ai une table Affaire qui me liste (comme son nom l'indique) tout plein d'affaire. (IdAffaire, Libelle)J'ai une OCR C# [ par Azerty5554 ] Bonjour, je cherche à faire un OCR simple en C# pour reconnaitre des caractères imprimés seulement. Mais je n'arrive pas à faire l'extraction des lign insert into à la fin de la table ? [ par coye ] Bonjour,j'aimerais compprendre pourquoi lorsque je fais un insert into dans ma base elle rajoute l'enregistrement au premier emplacement de libre et n filtrer une table avec une valeur séléctionnée dans une listbox [ par lirmo ] Bonjour,Je voudrais afficher dans une listbox toutes les valeurs contenu dans une base de donnée. Mais le problème c'est que je dois prendre l'informa problème avec un combobox [ par suethi75 ] Bonsoir, J'ai créé un formulaire qui contient un combobox, cette combobox correspond à une requête. Dans la liste déroulante on retrouve le champs lib [Regex] Récupérer une chaine de caractère [ par 4rocky4 ] Bonjour tout le monde,Je viens de découvrir les expressions régulières et j'aurais besoin d'aide J'ai un fichier (fichier.sql) qui contient un très gr Extraction des champs d'une table SQL [ par nabilG ] Bonjour,je suis nouveau dans c#.Je voudrais savoir comment on extrait tous les champs d'une table SQL et créer une variable mémoire pour chaquechamps. SELECT TABLE STATIC [ par YbenAli ] Est ce que je peux appliquer "SELECT * FROM NomTable" avec NomTable = table STATIC. Normalement NomTable est une table physique d une base de donnee(c


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales