Trucos Eliminar caracteres no imprimibles, comillas, etc.

En algunas ocasiones tenemos una cadena con caracteres "molestos", es decir, caracteres menores del ASC(32), comillas, etc., por ejemplo como resultado de la encriptación de un string "normal".
Si queremos guardar dichos caracteres en un fichero de texto, fichero .ini, base de datos, etc, podremos tener problemas.
Para evitarlos podemos aplicar unas funciones sobre el string que nos devuelva una cadena sólo con caracteres "correctos".
Suponiendo que no podamos preveer el rango de caracteres que podemos encontrar ni la cantidad de caracteres "raros" (lo que nos posibilitaría emplear algoritmos cuyo resultado fuera de la misma o similar longitud al original) podremos emplear este par de funciones :

Para convertir a cadena sin caracteres "raros" :

Function PasaANumeros(texto As String) As String
Dim i As Long, aux As String, s As String

aux = ""
For i = 1 To Len(texto)
     s = Hex(Asc(Mid(texto, i, 1)))
     If Len(s) = 1 Then s = "0" & s
      aux = aux + s
Next i
PasaANumeros = aux
End Function

Para recuperar la cadena original :

Function PasaATexto(numeros As String) As String
Dim i As Long, aux As String

aux = ""
For i = 1 To Len(numeros) Step 2
      aux = aux + Chr("&H" & Mid(numeros, i, 2))
Next i
PasaATexto = aux



Trucos Trucos

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com