Question

Quel est le moyen le plus simple en python de concaténer une chaîne avec des valeurs binaires?

sep = 0x1
data = ["abc","def","ghi","jkl"]

Recherche des données de résultat "abc0x1def0x1ghi0x1jkl" avec 0x1 étant la valeur binaire et non la chaîne "0x1".

Était-ce utile?

La solution

Je pense

joined = '\x01'.join(data) 

devrait le faire. \ x01 est la séquence d'échappement d'un octet de valeur 0x01.

Autres conseils

La fonction chr () aura pour effet de traduire une variable en chaîne avec la valeur binaire recherchée.

>>> sep = 0x1
>>> sepc = chr(sep)
>>> sepc
'\x01'

La fonction join () peut ensuite être utilisée pour concaténer une série de chaînes avec votre valeur binaire comme séparateur.

>>> data = ['abc']*3
>>> data
['abc', 'abc', 'abc']
>>> sepc.join(data)
'abc\x01abc\x01abc'

Je sais que ce n'est pas la meilleure méthode, mais une autre manière qui pourrait être utile dans un contexte différent pour la même question est la suivante:

>>> x=(str(bin(0b110011000)))
>>> b=(str(bin(0b11111111111)))
>>> print(x+b)
0b1100110000b11111111111

Et si nécessaire, pour supprimer les deux bits les plus à gauche de chaque chaîne (c'est-à-dire 0b pad), la fonction de tranche [2:] avec une valeur de 2 fonctionne:

>>> x=(str(bin(0b110011000)[2:]))
>>> b=(str(bin(0b11111111111)[2:]))
>>> print(x+b)
11001100011111111111
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top