El retorno de los sockets
Oscar Curero
oscar-listas en naiandei.net
Vie Jul 20 23:50:15 CEST 2007
Arnau Sanchez vàreu escriure:
> Oscar Curero escribió:
> > El problema concreto es que no sé como enviar un determinado dato: el
> > valor hexadecimal 40 (0x40). Según el manual de la aplicación servidor,
> > el dato que envío es de un (1) byte de longitud. Mi pregunta es: ¿Como
> > tengo que enviar el valor hexadecimal 40 (0x40) para que sólo ocupe 1
> > byte? Creo que se me está escapando algo tan básico que no lo estoy
> > viendo...
>
> Un ordinal del tipo "carácter sin signo" (unsigned char: 0 <= i < 256) se
> puede pasar a cadena con la función "chr":
>
> dato = chr(0x40)
> print dato, len(dato)
> # "@", 1
> sck.write(dato)
>
> Lo operación contraria es "ord":
>
> print ord("a") # -> 97 (tipo int)
> print chr(97) # -> "a" (tipo str)
>
> http://docs.python.org/lib/built-in-funcs.html
>
> Para un uso más genérico tienes el módulo struct (que a pesar de su nombre,
> no tiene nada que ver con los struct/record de otros lenguajes):
>
> http://docs.python.org/lib/module-struct.html
>
Qué curioso. Había llegado hasta el módulo struct, pero como no acababa de
entender el problema, tampoco acababa de entender la solución (es decir, la
utilidad del módulo). Ahora ya si, es bastante sencillo pero muy útil.
gracias,
--
Oscar Curero - Linux user: 306877
-- GPG keyID: 0xE0EA0B24 --
Más información sobre la lista de distribución Python-es