CentOS可以設定為純EBCDIC嗎?

CentOS可以設定為純EBCDIC嗎?

我需要直接操作大型主機中的文件。文字將以 EBCDIC 進行編碼。資料可以包含二進位和壓縮十進位欄位。我知道我可以處理這些數據。我試圖避免轉換。 (以及基於文字或二進制轉換每個欄位的麻煩)。我熟悉大型主機、USS和CentOS系統。我想做的是將 CentOS 翻轉為純粹的 EBCDIC。在網路和 StackExchange 上進行搜尋後,發現的資訊很少。

我看到一篇文章,其中 Sammyrulez “...通過向 /etc/i18n/sysconfig 添加 lang 和編碼,成功向 CentOS 機器添加了 EBCDIC 支援。”

似乎應該有比這更多的事情。

我計劃透過 GCC 或任何效果最好的產品使用 COBOL。 (一次一個障礙)

有人經歷過這件事嗎?

答案1

不,要讓整個系統在 EBCDIC 中運作是不可能的。這需要重新編譯所有程式並修改其中相當多的程式的原始程式碼(許多程式做出諸如“ASCII 大寫字母恰好是A和之間的字元Z”之類的假設)。

您可以使特定程式與 EBCDIC 搭配使用。沒有很多程式支援它——如今它只是一個小眾應用程式。此程式dd可以在 ASCII 和 EBCDIC(至少一種 EBCDIC)之間進行轉換,但它會轉換其整個輸入,而不是選定的欄位。對於像您這樣的混合數據,最好的方法是仔細編程,如果您需要將 EBCDIC 字段解釋為文本,則將它們轉換為 ASCII 並返回。

答案2

正如賈爾斯所說,不。但是您可以使用一些工具來處理 EBCDIC。您不能對這些檔案使用標準的 linux/unix 工具集。

此外,您可能會在傳輸 Mainframe VB 檔案時遇到問題(並非所有檔案傳輸程式都會處理 Mainframe-VB 檔案)。

許多 Java 程式(例如J編輯)可以處理 EBCDIC(CP037 或 IBM037 是 US Ebcdic),但大多數不會處理固定寬度或者VB大型主機上使用的文件結構。

從記憶裡GNU-Cobol(+許多其他 Cobol 編譯器)具有處理 EBCDIC 檔案的方法。 GNU-Cobol 還有一個大型主機相容模式,它將使用大型主機二進位大小。一些 Cobol 供應商 (Microfocus) 提供智慧 Cobol-Cobol 轉換程序,可以將大型主機 Cobol 檔案轉換為自己的格式。顯然,重新定義是一個大問題。

我自己的無恥插件軟體:記錄編輯器可以使用 Cobol Copybook 編輯/更新固定寬度/VB 格式的大型主機檔案。它還具有 Cobol-to-Cobol 實用程序,可以嘗試將簡單的大型主機 Ebcidic 檔案轉換為等效的 Gnu-Cobol ascii 檔案。重新定義又是一個大問題。

相關內容