Python - Sumar dos buffers, sin arrastre

   
Vista:

Sumar dos buffers, sin arrastre

Publicado por e (4 intervenciones) el 24/07/2014 11:24:14
para Python 2.7

Tengo dos strings con datos binarios y quiero sumarlos (no concatenarlos) obteniendo un tercer string del mismo tamaño donde cada byte es el resultado de la suma de los dos bytes correspondientes módulo 256.
Más claro:

string a, 3 bytes:
ord(a[0])=200 ord(a[1])=10 ord(a[2])=1

string b, 3 bytes:
ord(b[0])=22 ord(b[1])=250 ord(b[2])=255

string resultado suma ss, 3 bytes:
ord(ss[0])=222 ord(ss[1])=4 ord(ss[2])=0

Evidentemente si itero sobre los dos strings (ord(a[i])+ord(b[i])) % 256 obtengo el resultado buscado ord(ss[i]) , pero de una forma bastante ineficiente. El tamaño de los strings es de varios cientos de megabytes lo que alarga el tiempo de proceso.
¿Alguna función que lo realice más rápido?
¿Tal vez usando alguna librería gráfica o utilizando matrices con las librerías de scipy?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder