Pasar string a hexadecimal
Publicado por Maria Jose (9 intervenciones) el 13/05/2008 19:26:52
Hola por favor quisiera que me ayudaran en lo siguiente:
Estoy desarrollando una aplicacion en Visual Basic, que se encarga de convertir un archivo binario a Hexadecimal
El proceso que hago es el siguiente: Genero mi archivo binario, luego lo leo y le asigno su contenido a una variable de tipo string. Posteriormente, recorro esa variable y voy tomando de 8 en 8 caracteres para convertirlos a su numero hexadecimal utiizando la funcion HEX(numero) en visual basic.
El proceso lo hace bien, PERO el archivo binario puede llegar a tener hasta 20.000.000 de registros (entre 0 y 1) y por ende, el proceso de leer el archivo tomar de 8 en 8 y calcular el hexadecimal es muy lento.
Por ejemplo supongamos que el archivo binario tiene la siguiente informacion
000111000010110001010111
Entonces leo el contenido del archivo y lo asigno a una variable X = 000111000010110001010111
luego recorro esa variable
for i = 0 to len(X)
Linea = Mid(X,1,8)
Llamo a una funcion que convierte binario a numero (linea, numero)
LineaHexad = LineaHexad + Hex(Numero)
X = Mid(X, 9, len(x))
next i
Luego esa linea hexadecimal pasa a un archivo txt,
Alguien podria ayudarme y optimizar el proceso para que dure poco tiempo.
Agradezco la informacion que puedan brindarme.
Estoy desarrollando una aplicacion en Visual Basic, que se encarga de convertir un archivo binario a Hexadecimal
El proceso que hago es el siguiente: Genero mi archivo binario, luego lo leo y le asigno su contenido a una variable de tipo string. Posteriormente, recorro esa variable y voy tomando de 8 en 8 caracteres para convertirlos a su numero hexadecimal utiizando la funcion HEX(numero) en visual basic.
El proceso lo hace bien, PERO el archivo binario puede llegar a tener hasta 20.000.000 de registros (entre 0 y 1) y por ende, el proceso de leer el archivo tomar de 8 en 8 y calcular el hexadecimal es muy lento.
Por ejemplo supongamos que el archivo binario tiene la siguiente informacion
000111000010110001010111
Entonces leo el contenido del archivo y lo asigno a una variable X = 000111000010110001010111
luego recorro esa variable
for i = 0 to len(X)
Linea = Mid(X,1,8)
Llamo a una funcion que convierte binario a numero (linea, numero)
LineaHexad = LineaHexad + Hex(Numero)
X = Mid(X, 9, len(x))
next i
Luego esa linea hexadecimal pasa a un archivo txt,
Alguien podria ayudarme y optimizar el proceso para que dure poco tiempo.
Agradezco la informacion que puedan brindarme.
Valora esta pregunta


0