Necesito manipular archivos directamente desde una computadora central. El texto se codificaría en EBCDIC. Los datos pueden contener campos binarios y decimales empaquetados. Sé que puedo manejar los datos. Estoy tratando de evitar las conversiones. (y el problema de convertir cada campo en función de que sea texto o binario). Estoy familiarizado con los sistemas mainframe, USS y CentOS. Lo que me gustaría hacer es convertir CentOS para que sea EBCDIC puro. Una búsqueda en Internet y en StackExchange ha revelado muy poco.
Vi un artículo en el que Sammyrulez había "... agregado con éxito soporte EBCDIC a un sistema CentOS agregando idioma y codificación a /etc/i18n/sysconfig".
Parece que debería haber más que esto.
Planeo usar COBOL a través de GCC o cualquier producto que funcione mejor. (un obstáculo a la vez)
¿Alguien ha pasado por esto ya?
Respuesta1
No, sería imposible hacer funcionar todo el sistema en EBCDIC. Esto requeriría recompilar todos los programas y modificar el código fuente de bastantes de ellos (muchos programas hacen suposiciones como “las letras mayúsculas ASCII son exactamente los caracteres entre A
y Z
”).
Puede hacer que programas específicos funcionen con EBCDIC. No hay muchos programas que lo admitan; hoy en día es más bien una aplicación de nicho. El programa dd
puede convertir entre ASCII y EBCDIC (al menos una versión de EBCDIC), pero convierte toda su entrada, no los campos seleccionados. Con datos mixtos como los que tiene, lo mejor que puede hacer es programar con cuidado y convertir los campos EBCDIC a ASCII y viceversa si necesita interpretarlos como texto.
Respuesta2
Como Giles dijo que no. Pero existen herramientas que quizás pueda utilizar para trabajar con EBCDIC. No puede utilizar el conjunto de herramientas estándar de Linux/Unix en estos archivos.
También podría tener problemas para transferir archivos Mainframe VB (no todos los programas de transferencia de archivos manejan archivos Mainframe-VB).
Muchos programas Java (por ejemploJ) puede manejar EBCDIC (CP037 o IBM037 es Ebcdic de EE. UU.) pero la mayoría no manejaAncho fijooV.B.Estructuras de archivos utilizadas en el mainframe.
De memoriaGNU-Cobol(+ muchos otros compiladores Cobol) tienen métodos para tratar archivos EBCDIC. GNU-Cobol también tiene un modo de compatibilidad con Mainframe que utilizará tamaños binarios de mainframe. Algunos proveedores de Cobol (Microfocus) ofrecen programas inteligentes de conversión Cobol-Cobol que convertirán un archivo Mainframe Cobol a su propio formato. Obviamente las redefiniciones son un gran problema.
Enchufe descarado de mi propio software: ElEditor de registrosPuede editar/actualizar archivos Mainframe en formatos de ancho fijo/VB utilizando un Copybook Cobol. También tiene una utilidad Cobol-to-Cobol que intentará convertir archivos Ebcidic de Mainframe simples en un archivo ascii Gnu-Cobol equivalente. Nuevamente, las ReDefines son un gran problema.