Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

ansi a ascii

Estas en el tema de ansi a ascii en el foro de Visual Basic clásico en Foros del Web. Hola a todos! Quisiera saber si hay alguna función o algo para convertir de ansi a ascii. Estoy haciendo un programa que encripte de tal ...
  #1 (permalink)  
Antiguo 19/10/2005, 10:43
 
Fecha de Ingreso: octubre-2005
Mensajes: 1
Antigüedad: 18 años, 6 meses
Puntos: 0
ansi a ascii

Hola a todos!

Quisiera saber si hay alguna función o algo para convertir de ansi a ascii. Estoy haciendo un programa que encripte de tal forma que adquiera el asc de una cadena y le sume su longitud. Entonces imprime la cadena del codigo ascii que obtiene y lo escribe en un archivo.

Es decir si tengo la cadena "AB" entonces. Asc("A") = 65 , longitud de cadena = 2. por lo tanto es 67. Escribe "C" luego asc("B")=66, longitud de cadena= 2 , por lo tanto es 68. Escribe "D". La cadena resultante sería "CD"

mi problema surge cuando tiene q leer Ñ, y la longitud de la cadena es grande.
Es decir que en lugar de que me lea el 165 me lee 209. Por lo que mi cadena por decir es de 80, suma 209+80 = 289. Sobrepasa los 255 y me marca error ,porque obviamente no hay un símbolo que equivalga a ese código.

No puedo cambiar mi algoritmo de encriptamiento. Sin embargo quisiera saber si hay alguna función en VB que me permita cambiar de codepage, o algo así para que me maneje otro tipo de ascii extendido. Encontré que en c# está una clase que se llama encoding.Que permite cambiar la tabla de códigos, por así decirlo. Pero no he encontrado nada para VB6.

Espero que puedan ayudarme


ELI
  #2 (permalink)  
Antiguo 20/10/2005, 17:30
Avatar de Jad-Neo  
Fecha de Ingreso: octubre-2004
Mensajes: 344
Antigüedad: 19 años, 6 meses
Puntos: 0
La unica forma que se me medio hace es que agregues un If que diga que si el Asc del caracter a examinar es 209 haga una excepción, ¿como?; ese 209 lo almacenas en otro lado y no lo sumas. Creo, pero algo así debes hacer.
__________________
Nunca seas sabio en tu propia opinión.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:56.