TALLER DE CERTIFICACIÓN INTERNACIONAL TEMA: BUSCANDO, MODIFICANDO Y CODIFICANDO
Buscando, Modificando y Codificando Formando expresiones regulares Codificando y decodificando
¿Qué es una expresión regular? Es un conjunto de caracteres que determinan si un String cumple los requerimientos determinados en la expresión. ¿Cómo usar una expresión regular? Se debe referenciar a System.Text.RegularExpressions y usar el método Regex.IsMatch Las expresiones regulares soportan caracteres especiales y operadores, como por ejemplo: . * ? + [ ] ( ) { } ^ $ | \. Los más usados comúnmente son “^” para indicar el comienzo de la cadena, “$” para indicar el final, “?” para indicar un carácter opcional, “.”para indicar cualquier carácter y “*” para indicar un carácter repetido.
Caracteres usados en una expresión regular Carácter Descripción . coincide con cualquier carácter individual * coincide con cero o más elementos anteriores + coincide con uno o varios elementos anteriores ? coincide con cero o uno de los elementos anteriores () recuerda el contenido del paréntesis como elemento [] coincide con un elemento de la lista - crea un intervalo en una lista | O ^ coincide con el principio del campo $ coincide con el final del campo \ usa caracteres de escape con cualquiera de los elementos anteriores {n} Encuentra coincidencia si hay exactamente n apariciones del carácter que precede.
Ejemplo: Expresión regular que valida un numero con dos decimales
Buscando, Modificando y Codificando Formando expresiones regulares Codificando y decodificando
¿Qué es codificar y decodificar? Codificar es el proceso de transformar un conjunto de caracteres a una secuencia de bytes. Decodificar es el proceso inverso; es transformar una secuencia de bytes codificados a un conjunto de caracteres. ¿Cómo codificar y decodificar? Se debe referenciar a System.Text y usar cualquiera de las clases Encoder, EncodingInfo, Encoding
Tipos de codificación ASCII: asigna caracteres para 7-bit bytes usando los números desde el 0 al 127. Al inicio no incluía los caracteres que no estaban en el alfabeto inglés (solo tenía letras del alfabeto ingles en mayúscula y minúscula, números, puntuación, y algún otro carácter especial de control). ANSI: (de 8-bit byte) tuvo una solución para este problema y utilizo del 0 al 127 los códigos ASCII y los demás, desde el 128 al 255, para otros valores específicos del lenguaje elegido. Unicode: es una codificación de páginas masiva, con miles de caracteres que soportan muchos lenguajes y scripts. No es de un tipo específico de codificación, existen varios tipos. El framework de .Net utiliza Unicode UTF-16 para representar caracteres y a veces UTF-8 internamente.
Tipos de Unicode UTF-32: representa los caracteres en secuencias de 32-bit enteros, puedes usar UTF-32Encoding class para convertir caracteres en un formato UTF-32. UTF-16: representa los caracteres en secuencias de 32-bit enteros, puedes usar UTF-16Encoding class para convertir caracteres en un formato UTF-16. UTF-8: usa codificación de 8-bit 16-bit 24-bit y arriba de los 48-bit, valores de 0 a 127 .
Usando Encoding Class (Clases de codificación) Se puede usar el método Encoding.GetEncoding para devolver un objeto encoding para una especificada codificación. Encoding.GetBytes convierte un string unicode a su representación en bytes en una codificación especificada. Encoding.GetEncodings obtiene un arreglo de EncodingInfo que soporta el framework.
Tipo de codificación al escribir y leer un archivo Al Leer: Encoding es una enumeración que contiene opciones como: Default, UTF32, UTF7, UTF8, ASCII, etc.
Ejemplos: Al escribir: código
Ejemplos: Al escribir: Resultado:
Ejemplos: Al leer: Con diferente codificación
Ejemplos: Al leer: Con la misma codificación