Pruebas con la lectura/escritura de ficheros en v7

El término (character encoding) codificación de caracteres define un conjunto de caracteres y cómo cada uno está representado dentro de un sistema de codificación. Para ser exacto sería necesario dejar claras ambas cuestiones.

Por un lado están los distintos conjuntos de caracteres que no son más que normas que definen cada carácter y su equivalente binario. Antiguamente estos conjuntos y los sistemas de codificación asociados eran distintos para cada necesidad (véase ASCII, EBCDIC, ISO-8859-x), hoy se tiende a unificar (véase Unicode y UCS) para resolver las distintas problemáticas con un mismo estándar.

Por otro lado se encuentran las distintas codificaciones que no son más que el orden numérico de las asignaciones.

Aclarando conceptos

Vamos a realizar un ejemplo para intentar aclarar estos conceptos sobre la codificación de ficheros.

Cogemos el notepad y realizamos un documento que contiene lo siguiente

HOLA MUNDO Y ÑÑÑÑ!”·$%&/()=?=)(/&%$·”!^*^ǨÇ:;_;:

y lo guardamos con tres encodings/codificaciones distintas. ANSI, Unicode y UTF-8

imageAl abrirlos desde el notepad el los lee todos ellos correctamente, pero si los editamos con un editor hexadecimal…

Descargar editor hexadecimal – freeware

…veremos que son distintos, están codificados de forma diferente.

image
ANSI

image
UNICODE

image
UTF-8

 

¿Cómo funciona Velneo a la hora de leer/escribir ficheros?

    Hagamos un ejemplo.
      Primero creamos un fichero en

Velneo

    mediante las siguientes instrucciones de proceso:

image

Resultado:
image

Si os fijais es identico al primer fichero creado en el ejemplo anterior, ANSI.

Veamos como lo lee si esta en ANSI…

image

image

 

 

 

Perfecto…

Ahora realicemos un segundo ejemplo, sustituyendo ese mismo fichero por el codificado en UTF-8.

image

Pues sencillo, el es incapaz de detectar la codificación y lo trata como ANSI mapeando incorrectamente las asignaciones…

En resumen… Velneo siempre trata la lectura/escritura de ficheros en ANSI. Si queremos trabajar con ficheros externos hay que tenerlo muy en cuenta.

Sería muy recomendable que estas funciones permitan establecer en que codificación se van a leer/escribir los ficheros. Ya que si no, nos tocaría transformar las lecturas posteriormente a las codificaciones adecuadas o tratarlas para que en origen siempre estén codificadas en ANSI.

Descargar en formato PDFDescargar en PDF
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (2 votes, average: 5,00 out of 5)
Loading...

Seguir Jorge Hontoria Jiménez:

Gerente de TipeSoft

Dirección de proyectos de integración de software y aplicaciones orientadas a servicios. Implantación de soluciones de integración basadas en SharePoint Portal.

Últimas publicaciones de

Una respuesta

  1. […] Otro de los problemas relacionado con el tratamiento y lectura de los ficheros es el encoding y todo lo relacionado. Como podéis apreciar inicialmente lo resolvimos con una función FNC_CORRECT_ENCODING, pero es una solución parcial. No tardando demasiado lo haremos con un nuevo módulo del Core realizado en C++ multiplataforma. Aquí tenéis más referencias a este respecto:  Velneo y un largo día con C++ / Pruebas con la lectura/escritura de ficheros en v7. […]

Dejar una opinión