Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

parse une s

2 réponses
Avatar
xylo
bonjour à tous,

existe-t-il un algo élégant pour parser une séquence du type:
\x2\x50\x30\x3\x10
et placer le contenu dans un tableau de byte ?

en C ou en C++

--
Apply rot13 to this e-mail address before using it.
JM Marino
http://jm.marino.free.fr

2 réponses

Avatar
James Kanze
On Oct 22, 7:21 pm, xylo wrote:
existe-t-il un algo élégant pour parser une séquence du type:
x2x50x30x3x10
et placer le contenu dans un tableau de byte ?



en C ou en C++



Élégant dans quel sens ? Je connais plusieurs façons de s'y
attaquer, mais d'abord, il faudrait spécifier le problème un peu
mieux : Est-ce que le nombre d'entrées est connu d'avance ?
Est-ce qu'il peut y avoir d'autre texte ? Est-ce qu'il faut
traiter d'autres types d'escape aussi ?

Dans mon cas, j'ai déjà du code pour parser les séquences
d'escape, dans mon composant CharacterClass. Il faut beaucoup
plus qu'il ne te faut, parce que selon que le premier caractère
qu'il voit est un [, un ou quelque chose d'autre, il crée un
SetOfCharacter qui représente la classe spécifiée. Si tu as
assez de patience d'aller à
http://kanze.james.neuf.fr/code-fr.html, cliquer sur "code" dans
la première ligne, puis naviguer à Util/Text/CharacterClass, et
prendre le fichier cclsParse.cc, il y a une fonction
Parser::parseEscapeChar() qui s'occupe des cas où j'ai une
spécification qui conmmence par un . (Le code a serieusement
besoin d'un peu de nettoyage. Ce qui ne se fera pas, parce que
je l'ai réécrit récemment pour traiter UTF-8. Ce qui est
nettement plus compliqué, parce que c'est un encodage
multi-byte, et que les escape du genre u20A0 peuvent donner
plus d'un octet. Mais s'il pourrait t'aider, sers-t-en. Et en
passant, le fichier est encodé en ISO 8859-1. Au cas où : mon
browser ici le traite comme si c'était du UTF-8, ce qui donne un
résultat assez désagréable.)

--
James Kanze (GABI Software) email:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Avatar
xylo
Le Wed, 22 Oct 2008 14:42:25 -0700, James Kanze a écrit:

On Oct 22, 7:21 pm, xylo wrote:
existe-t-il un algo élégant pour parser une séquence du type:
x2x50x30x3x10
et placer le contenu dans un tableau de byte ?



en C ou en C++



Élégant dans quel sens ? Je connais plusieurs façons de s'y
attaquer, mais d'abord, il faudrait spécifier le problème un peu
mieux : Est-ce que le nombre d'entrées est connu d'avance ?
Est-ce qu'il peut y avoir d'autre texte ? Est-ce qu'il faut
traiter d'autres types d'escape aussi ?

Dans mon cas, j'ai déjà du code pour parser les séquences
d'escape, dans mon composant CharacterClass. Il faut beaucoup
plus qu'il ne te faut, parce que selon que le premier caractère
qu'il voit est un [, un ou quelque chose d'autre, il crée un
SetOfCharacter qui représente la classe spécifiée. Si tu as
assez de patience d'aller à
http://kanze.james.neuf.fr/code-fr.html, cliquer sur "code" dans
la première ligne, puis naviguer à Util/Text/CharacterClass, et
prendre le fichier cclsParse.cc, il y a une fonction
Parser::parseEscapeChar() qui s'occupe des cas où j'ai une
spécification qui conmmence par un . (Le code a serieusement
besoin d'un peu de nettoyage. Ce qui ne se fera pas, parce que
je l'ai réécrit récemment pour traiter UTF-8. Ce qui est
nettement plus compliqué, parce que c'est un encodage
multi-byte, et que les escape du genre u20A0 peuvent donner
plus d'un octet. Mais s'il pourrait t'aider, sers-t-en. Et en
passant, le fichier est encodé en ISO 8859-1. Au cas où : mon
browser ici le traite comme si c'était du UTF-8, ce qui donne un
résultat assez désagréable.)




bon ben j'ai pris le temps de me faire mal aux yeux.
ça fait peur mais ya des choses intéressantes... maintenables pas sure...

MERCI

--
Apply rot13 to this e-mail address before using it.
JM Marino
http://jm.marino.free.fr