Foros del Web » Programación para mayores de 30 ;) » .NET »

Convertir caracteres en hexadecimal

Estas en el tema de Convertir caracteres en hexadecimal en el foro de .NET en Foros del Web. Hola, Tengo la siguiente situación, estoy creando una pequeña aplicación en VC# para convertir cadenas de caracteres en hexadecimal de 1 byte, es decir de ...
  #1 (permalink)  
Antiguo 25/01/2011, 17:41
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 18 años, 9 meses
Puntos: 5
Convertir caracteres en hexadecimal

Hola,

Tengo la siguiente situación, estoy creando una pequeña aplicación en VC# para convertir cadenas de caracteres en hexadecimal de 1 byte, es decir de 00 a FF. El reto aquí es que si tengo por ejemplo el carácter „ cuyo equivalente hexadecimal es 201E yo necesito “reducir” eso para obtener 84 hexadecimal.

Otros caracteres son estos (no siguen ningún orden):


= 2014 (debe dar 97)
= 2022 (debe dar 95)
= 203A (debe dar 9B)
= 2020 (debe dar 86)
= 2021 (debe dar 87)
= 2019 (debe dar 82)
Š = 160 (debe dar 8A)
ƒ = 192 (debe dar 83)

He visto algunas aplicaciones (para cagar memorias) que hacen esto, es decir, si ingreso cualquier carácter lo pasa a equivalente hexadecimal sin rebasar de FF. Lo que no logro comprender es que operación puede ejecutarse para convertir 201E a 84, la verdad no le veo sentido, pero lo hacen!

Se que podría, por ejemplo, ejecutar un simple switch y como casos agregar las equivalencias, pero que pasa si se ingresa un carácter que yo no haya contemplado... pues fallaría. Por eso me gustaría mas que nada saber si con alguna operación puede solventarse.

Pueden ver la tabla con caracteres del tipo que menciono en la siguiente tabla:

http://jrgraphix.net/r/Unicode/2000-206F

Alguna idea?, al menos será posible?

Gracias.
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico

Etiquetas: caracteres, hexadecimal
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 00:54.