problemas ASC de VB6.0 y Char en C#

04/01/2007 - 14:01 por Anonimo | Informe spam
Hola a todos

Tengo una aplicacion en VB6.0 que encripta una clave el caso es que esta
encriptada en vb 6.0 a traves de asc, chr
pero cuando ejecuto la misma accion en c# resulta que el codigo ascii
devuelto es diferente en algun caso (no siempre)

Es decir estas instrucciones devuelven valores diferentes y no deberian

vb 6.0 Cadena = Cadena + Chr$(140)

c# Cadena = Cadena + (Char)(140)

Con otros valores diferentes a 140 funciona pero con valores cercanos no ,
que es lo que pasa ???
Alguna forma de poder hacer esto ??

Saludos y gracias
 

Leer las respuestas

#1 Alberto Poblacion
04/01/2007 - 17:09 | Informe spam
wrote in message
news:
Es decir estas instrucciones devuelven valores diferentes y no deberian

vb 6.0 Cadena = Cadena + Chr$(140)

c# Cadena = Cadena + (Char)(140)

Con otros valores diferentes a 140 funciona pero con valores cercanos no ,
que es lo que pasa ???



En VB los caracteres son de 8 bits, pero en C# son Unicode (16 bits cada
carácter), por lo que no dan igual. Lo mismo pasa con la Cadena, que usa
también Unicode para guardar los caracteres, con lo que el comportamiento
puede variar respecto al de VB. Para labores de criptografía te sugiero que
uses el tipo Byte en lugar de Char, y que lo acumules en un array de byte en
lugar de un String. De esta forma siempre tienes control del valor exacto
que tienes en cada sitio, y no tienes que preocuparte de las posibles
conversiones entre juegos de caracteres que se produzcan al pasar a Unicode.

Preguntas similares