![]() |
De entero a hexa, y hexa a entero (o string)
Hola...
Estoy usando hace tiempo un encriptador que me sirve, y mucho... El tema es que tiene como límite 25 caracteres de entrada y ahora estoy necesitando encriptar y desdencriptar una cadena de 41 caracteres que son binarios en realidad (0 y 1)... Lo que quiero es la cadena pasarla a hexadecimal para que queden así sean muchos menos caracteres y luego encriptarla... y en el proceso inverso, desencripto y luego paso de hexadecimal a string o integer... En definitiva... hay alguna funcion que pase de entero a hexadecimal y otra que pase de hexadecimal(string) a entero (o string)...??? Ya vi que en SYSUTILS hay una funcion inttohex, pero no la entiendo mucho y además, no encuentro ninguna funcion que sea para hacer el proceso inverso (de hexa a entero o string)... Desde ya, muchisimas gracias... Nos vemos Saludos mArCeLo |
por si de algo de vale, en la unidad RxStrUtils de las rusas (RXLib) estan definidas funciones como las que necesitas.
|
Cita:
IntToHex (intenta poner 0 en el segundo parámetro) Hexadecimal a Entero Usa StrToInt anteponiendo un '$' a la cadena, por ejemplo, StrToInt('$' + 'EF23C') -> 979516 // Saludos |
Sigo con problemas
Hola...
Gracias a los que respondieron, pero sigo teniendo el problemas con la conversión de HEXA a entero y entero a HEXA... El tema es que la cadena (numero binario) que quiero pasar a hexadecimal es de más de 40 caracteres, y eso supera a la capacidad del entero... a alguien se le ocurre como puedo solucionarlo??? Muchas gracias a todos !!! saludos |
En realidad un número binario de 40 digitos (40 bits) si cabe en un int64, que tiene, como lo revela su nombre, una capacidad de 64 bits.
O ya puestos a manipular las cosas... podes "partir" la cadena en dos números de 20 bits, para luego, cuando sea necesario, "concatenarla" de nuevo, no? Hasta luego. ;) |
Yo ya no entendí de qué a qué quieres convertir. Dices que quieres pasar la cadena binaria a hexadecimal paa que ocupe menos caracteres. ¿No te sirve mejor pasarla directamente a un entero? Podrías hacerlo con una función como esta:
Y en todo caso, concantenar ésta con IntToHex. // Saludos |
La franja horaria es GMT +2. Ahora son las 06:46:00. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi