问题标签 [ebcdic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1782 浏览

java - 如何将 EBCDIC 十六进制转换为二进制

//问题解决了

我编写了一个将 EBCDIC 字符串转换为十六进制的程序。我对一些迹象有疑问。

所以,我将字符串读取为字节,然后将它们更改为十六进制(每两个符号)

问题是,JAVA根据https://shop.alterlinks.com/ascii-table/ascii-ebcdic-us.php将 Decimal ASCII 136符号转换为 Decimal ASCII 63

这是有问题和错误的,因为它是唯一错误的转换字符。

UltraEdit 中的 EBCDIC 88

//编辑添加的代码

//编辑2

将 Eclipse 中的编码更改为 ISO-8859-1 有所帮助,但是在从文件中读取文本时我丢失了一些符号。

//编辑3

通过改变读取文件的方式解决了问题。

现在,我逐字节读取它并将其解析为字符。以前是一行一行的。

0 投票
1 回答
688 浏览

hadoop - EBCDIC 文件格式的自定义 Serde

我是这个 hadoop 环境的新手,我想为 EBCDIC 文件编写一个自定义 SerDe。我在互联网上搜索了很多,但没有得到任何关于 SerDe 开发的资料。如果您对 SerDe 开发有任何想法,请发布链接。提前致谢。

0 投票
3 回答
1600 浏览

java - 如何使用 Hadoop Mapreduce 将 EBCDIC 转换为 TEXT

我需要解析 EBCDIC 输入文件格式。使用 Java,我可以像下面这样阅读它:

但是在 Hadoop Mapreduce 中,我需要解析RecordReader到目前为止还没有工作的方法。

任何人都可以提供解决此问题的方法吗?

0 投票
2 回答
8311 浏览

python - 解码 Ebcdic

我正在传递 ebcdic 编码的数据。就像是:

尝试.decode('cp500')是错误的,但正确的方法是什么?如果我将字符串复制到 Notepad++ 之类的东西中,我可以将它从 EBCDIC 转换为 ascii,但我似乎无法在 python 中找到一种可行的方法来实现相同的目的。对于它的价值,正确的结果是:(BOISE ID加或减空格填充)。

正在从 JSON 对象行的文件中检索信息。该文件如下所示:

处理循环看起来像:

0 投票
2 回答
348 浏览

c - EBCDIC 到 ASCII 转换背后的基本原理是什么?

我想了解这种转换究竟是如何发生的。

http://www8.cs.umu.se/~isak/Snippets/a2e.c

在示例 text 的情况下char sample[6] = "hello";,如何准确h地从asciito转换,ebcdic反之亦然?

编辑:我真的不需要转换字符串。我只想知道这些表是如何构建的。

0 投票
2 回答
3949 浏览

c# - 使用 C# 动态读取 COBOL 重新定义

我正在制作一个 C# 程序,它将能够动态读取用 COBOL 编写的 IBM HOST Copybook 并从中生成一个 SQL 表。生成表后,我可以将文件上传到我的程序中,它将读取、从 IMB-37 转换并将文件插入到该 sql 表中。到目前为止,我几乎可以处理任何事情,尽管我遇到了 REDEFINES 的一些问题。

例如:

我知道在这种情况下重新定义取代了它上面的字段,尽管我不明白编译器如何知道它是否应该在上面使用重新定义。我假设在这种情况下,这是因为第一个是数字,而第二个是字符,尽管在下面的示例中它们都使用字符。

我尝试忽略重新定义,因为它总是占用相同数量的空间,但是在原始字段被打包而重新定义的字段不是我需要知道何时解包字段的情况下。

对此的任何帮助都会很棒!

0 投票
1 回答
329 浏览

c# - c# 无法在 Unisys Mainframe Windows Share 上创建 EBCDIC 文件

我正在尝试将用户在 asp.net 站点上生成的数据上传到 Unisys 大型机。我的客户决定他们希望我将数据直接加载到 Unisys Mainframe Windows 共享上,而不是使用 FTP 上传文件。FTP 通常在 ASCII 和 EBCDIC 之间进行转换。

问题是无论我是否将文件内容编码为 EBCDIC,大型机都将文件视为 ASCII。

测试代码在这里:

问题
1) 我是否应该将文件创建为 ASCII,然后让大型机作业调用实用程序来转换文件 EBCDIC?如果是这样,该实用程序的名称是什么?大型机操作人员不知道有一个。

2)有没有办法在.net中实际创建一个EBCDIC文件?EBCDIC 编码正在工作,但我相信文件类型不同,我无法找到任何东西。

我实际上在 2 年中没有对大型机做过任何事情,所以我已经超出了我的深度。

提前致谢。克里斯

0 投票
3 回答
14073 浏览

linux - 在 Linux 中从 EBCDIC 转换为 UTF8

我已经用 Perl 从我们的数据库 AS/400 DB2 中导入了一个表。

问题是字符串是用 EBCDIC Latin-1(意大利语)编码的。

如何在 Linux bash 中将生成的文件转换为纯 utf-8?

0 投票
0 回答
987 浏览

unix - 编辑 EBCDIC 文件格式

我正在测试一个将 EBCDIC 编码文件作为输入的数据服务作业。我需要编辑一些数据以进行测试。我可以通过 RFHUtil 实用程序读取文件,但无法对其进行编辑。

是否可以通过 Windows 编辑器或任何 unix 实用程序对其进行编辑?

0 投票
1 回答
1474 浏览

java - 为什么“STRING”.getBytes() 的工作方式因操作系统而异

我正在运行下面的代码,我从 "some_string".getBytes() 得到不同的结果,这取决于我是在 Windows 还是 Unix 中。任何字符串都会出现这个问题(我尝试了一个非常简单的 ABC 和同样的问题。

请参阅控制台中打印的以下差异。

下面的代码使用 Java 7 进行了很好的测试。如果你完全复制它,它将运行。

此外,请参阅下面两张图片中的十六进制差异。前两个图像显示了在 Windows 中创建的文件。您可以分别使用 ANSI 和 EBCDIC 查看十六进制值。第三张图片,黑色的,来自 Unix。您可以看到十六进制(-c 选项)和我认为它是 EBCDIC 的可读字符。

所以,我的直截了当的问题是:为什么这些代码的工作方式不同,因为我在这两种情况下都使用 Java 7?我应该检查某处的任何特定属性吗?也许,Windows 中的 Java 有某种默认格式,而 Unix 中它有另一种。如果是这样,我必须检查或设置哪个属性?

在此处输入图像描述

Unix 控制台:

Windows 控制台:

整个代码: