Underc0de

Programación General => Visual Basic => Mensaje iniciado por: 79137913 en Noviembre 18, 2013, 10:13:33 AM

Título: [FUNCION] IsUnicode (Determina si una cadena es unicode o no)
Publicado por: 79137913 en Noviembre 18, 2013, 10:13:33 AM
HOLA!!!

En fin esta funcion lo que hace es determinar si una cadena es unicode o ascii (si es unicode envia true sino false)

Ustedes diran... para que sirve esto, bueno, resulta que hay apis que solo soportan entrada ascii, entonces conesto prevenimos crasheos, en el ejemplo que arme hay un archivo con nombre de fichero unicode (un caracter RLO 202E).

Código (vb) [Seleccionar]
Private Function IsUnicode(Expression As String) As String
'by 79137913
    Dim b() As Byte 'Se crea un array de bytes para almacenar el string
    Dim Aux As String 'se usara para comparar
    b = Expression 'se usa un evil type convert para obtener todos los ascii de los caracteres de la expresion en las posiciones del array
    For x = 0 To UBound(b) Step 2
        Aux = Aux & Chr(b(x)) 'reconstruimos la expresion
    Next
    IsUnicode = (Expression <> Aux) 'asignamos a IsUnicode el resultado de la comparacion
    'Si Expression es = a aux dara Falso por que Expression es totalmente Ascii, sino dara Verdadero por que contiene algun caracter Unicode.
End Function


El ejemplo lo descargan de aca:
http://www.mediafire.com/download/76yuudmsnnoykau/IsUnicode.rar

GRACIAS POR LEER!!!