OVH Cloud OVH Cloud

Manipuler des bits

3 réponses
Avatar
Mathieu Ignacio
Bonjour,


Je cherche à manipuler des bits pour lire/écrire des données sur le
réseau ou des fichiers binaires.

Je souhaite notamment pouvoir transformer des valeurs de 0 à 255 en
ascii 8 bits (et l'inverse), ou faire des opérations du type
addition/décalage sur des char 8 bits (et rester en 8 bits).

Connaissez-vous des modules/fonctions qui me facilerait la tâche (avant
que je recode (mal) ça from scratch)?

J'ai trouvé pack/unpack, mais c'est assez limité.


Merci.a+.

--
Mathieu Ignacio.

3 réponses

Avatar
F. Petitjean
Bonjour,


Je cherche à manipuler des bits pour lire/écrire des données sur le
réseau ou des fichiers binaires.

Je souhaite notamment pouvoir transformer des valeurs de 0 à 255 en
ascii 8 bits (et l'inverse),
vascii = chr(valeur) et valeur = ord(vascii) ( if 0 <= vascii <= 255 )

Que vous faut-il de plus ?
ou faire des opérations du type
addition/décalage sur des char 8 bits (et rester en 8 bits).
deuwfois = ord(chr8) << 1 (et ajouter éventuellement un plafonnement à

255 et envelopper avec un chr() si vous y tenez)


Connaissez-vous des modules/fonctions qui me facilerait la tâche (avant
que je recode (mal) ça from scratch)?

J'ai trouvé pack/unpack, mais c'est assez limité.
je suppose que vous faites allusion au module struct


Nous aurions besoin de plus de détails sur ce que vous voulez faire.


Merci.a+.

--
Mathieu Ignacio.


Avatar
Do Re Mi chel La Si Do
Bonsoir !

Je ne connais pas de module/librairie ; mais ça doit bien exister.
Sinon, de mémoire :

int('00001111',2) #==> 15
int('00001111',2)<<1 #==> int('00011110',2) ==> 30


@-salutations
--
Michel Claveau
Avatar
Mathieu Ignacio
F. Petitjean wrote:

Bonjour,
vascii = chr(valeur) et valeur = ord(vascii) ( if 0 <= vascii <= 255 )

Que vous faut-il de plus ?
Rien, a force de chercher des trucs tordu je suis passé a coté du plus

simple <:-(

J'ai trouvé pack/unpack, mais c'est assez limité.


je suppose que vous faites allusion au module struct

Nous aurions besoin de plus de détails sur ce que vous voulez faire.
Je lis et construit des packets udp.

Et avec chr, ord, pack et unpack, j'ai la panoplie pour le faire.
(hex, hexlify et unhexlify peuvent être aussi d'un bon secours)


Merci beaucoup.
a+.

Mathieu Ignacio.