Question

Je dois convertir des chaînes unicode en Python à d'autres types tels que non signé et entier signé 8 bits, non signé et entier signé 16 bits, non signé et entier signé 32 bits, non signé et entier signé 64 bits, double, flotteur, ficelle, unsigned et signé 8 bits non signé et signé 16 bits non signé et signé 32 bits non signé et signé 64 bits.

J'ai besoin de l'aide de personnes u.

Était-ce utile?

La solution

int() pour convertir la chaîne en un nombre entier. Python n'a pas différents entiers de largeur fixe de sorte que vous aurez juste un type de chose dehors.

Ensuite, utilisez struct pour emballer le nombre entier dans une largeur fixe:

res = struct.pack("=B",i) ## uint8_t
res = struct.pack("=b",i) ## int8_t

res = struct.pack("=H",i) ## uint16_t
res = struct.pack("=h",i) ## int16_t

res = struct.pack("=I",i) ## uint32_t
res = struct.pack("=i",i) ## int32_t

res = struct.pack("=Q",i) ## uint64_t
res = struct.pack("=q",i) ## int64_t

res = struct.pack("=f",i) ## float
res = struct.pack("=d",i) ## double

struct produit une chaîne d'octets contenant le nombre en binaire.

EDIT: D'après les commentaires, il semble que vous voulez juste convertir la chaîne (de chiffres après la virgule) dans un entier. Il suffit d'utiliser int() pour cela, mais vous ne serez pas tout débordement compliqué / sémantique sousverse des types spécifiés. Vous ne pouvez pas reproduire ce en python, du moins pas sans écrire beaucoup de code.

Je pense que si vous voulez plus d'aide, vous devrez être plus précis sur ce que vous voulez atteindre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top