问题标签 [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 回答
35584 浏览

java - 在java中将EBCDIC转换为ASCII

我应该使用 Java 将 EBCDIC 文件转换为 ASCII。到目前为止,我有这个代码:

文件说明如下:

我们可以忽略每一行的前 2 个字节。问题是存在 USAGE IS COMP 的字节,因为阅读器没有正确转换它们,我想我应该将这些作为字节或其他内容读取,尽管我不知道如何。

0 投票
0 回答
423 浏览

c# - 在c#中将EBCDIC转换为波斯字符

我使用这种将 EBCDIC 转换为 ASCII 的实现。此解决方案适用于英文字符。但我想将它用于波斯语[或阿拉伯语]字符。它不适用于波斯字符。你知道另一种解决方案吗?

0 投票
2 回答
582 浏览

java - 如何通过java代码将ASCII转换为大型机二进制?

我们的应用程序有一个用 C/C++ 编写的模块,它将获取一个 ascii 文件并将其转换为一个 ebcdic 文件,该文件稍后将被 ftped 到大型机。

现在我们被要求用 java 重写这个 C/C++ 代码。我们有 4 种不同的输出类型,一种是普通字符,然后是压缩十进制、大型机二进制和浮点。每个都有一个单独的输入 ascii 长度和相应的输出 ebcdic 长度。

执行此操作时,我们无法转换一种特定类型的大型机二进制文件,其中它将 11 字节的输入转换为 4 字节的大型机二进制文件的输出。一个示例输入是“451841”,当在 unix 中使用 less 命令打开时,ebcdic 文件中的输出是“^@^Få^A”。

C代码如下:

我们重写这部分的 java 代码如下所示:

但是使用 java 代码的值是这样的:^@^@^@^A

我们正在使用 jre 1.5 版。有人可以帮我理解如何在 java 1.5 版中重写这个 C 代码吗?还有一件事,即使 temp_area[11] 的长度为 11 个字符,我们在其中的最大值是 6 位。

0 投票
2 回答
2372 浏览

sql - AS/400:最有效的 DB2 SQL 将 EBCDIC 子字段值解压缩为字符串?

我正在使用的大多数文件只有以下字段:

  • F00001 - 通常为 1 (f1) 或 9 (f9)
  • K00001 - 通常只有 1-3 个分区小数和 ebcdic 子字段
  • F00002 - ebcdic、分区和压缩小数的子字段

有时其他字段名称 K00002、F00003 和 F00004 会出现在交叉引用文件中。

示例数据:

目前使用:

这是将 EBCDIC 值解压缩为字符串的最佳方法吗?

0 投票
1 回答
3544 浏览

c - 在C中获取字符的EBCDIC值

我需要在 C 中获取字符的 EBCDIC 值。我不知道如何。我是否必须先获取 ASCII 值然后从那里获取 EBCDIC 值?谢谢任何人

0 投票
0 回答
372 浏览

java - JDK1.5 忽略 jvm 选项 ibm.swaplf

我正在尝试将 UTF-8 文件转换为 EBCDIC IBM284,但 java 将 0A (\n) 转换为 0x15,而不是我们主机使用的标准 0x25。在网上搜索后,我发现您可以将选项 ibm.swaplf 设置为 true 以更改此行为,但 jvm 似乎忽略了它。

在 transformig 之后,我得到了这个输出:

我期待 0A 转换为 25 而不是 15。有什么想法吗?

解决方案:使用 IBM1145 代替 IBM284 解决了这个问题。

0 投票
1 回答
438 浏览

c - 从 C 语言文件中读取 EBCDIC 字符

我正在从文件中读取 EBCDIC 字符,并且每次尝试将其写入文件时,无论是 EBCDIC 还是 ASCII 格式,它写入的内容都是空白的。任何人都可以帮忙吗?谢谢。

0 投票
5 回答
6029 浏览

format - COBOL COMP-3 数字格式问题

我有一个混合了文本和数字字段的 cobol“磁带格式”转储。我正在将 C# 中的文件作为二进制数组(字节数组)读取。我有复印本,格式在文本字段上排列得很好。还有许多 COMP-3 字段。这些字段中的数据似乎与任何 BCD 格式都不匹配。我知道数据应该是什么,并且我有 COMP-3 的原始字节。我尝试先转换为 EBCDIC,但没有产生更好的结果。关于如何以其他方式在内部存储 COMP-3 编号的任何想法?以下是 PIC、原始数据和预期数字的三个示例。我知道我的字段位置是正确的,因为数字的两侧都有 alpha 数据,并且所有排列都正确。

第一个示例:字段的 PIC 为 9(9) COMP-3 数据有 5 个字节,十六进制值为 02 01 20 91 22 结果数据应为日期 (00CCYYMMDD)。这个特定的日期应该是 3-17-14。

第二个例子:字段的 PIC 是 S9(3) COMP-3 数据有 2 个字节,十六进制值是 0A 14 结果值应该在 900 到 999 之间 我的理解是“S”表示最后一个半字节应该是 0xC 或 0xD 来表示 + 或 -

第三个例子:字段的 PIC 是 S9(15)V99 COMP-3 数据有 9 个字节,十六进制值是 00 00 00 00 00 00 01 80 0C 结果值应该是 12.00

好的,感谢那些回应的人,因为他们为我指明了正确的方向。这确实是一个 ASCII/EBCDIC 表示问题。BCD 存储在 EBCDIC 中。使用 ASCII 到 EBCDIC 转换表会产生格式正确的 BCD 数字:

我用这个链接来映射数据:http ://shop.alterlinks.com/ascii-table/ascii-ebcdic-us.php

我的数据:0A 14 转换:25 3C(原来 253 是一个有效值,规范是错误的)C = +,一切都好

我的数据:01 80 0C(不包括前导零) 转换:01 20 0C 12.00 C = +,隐含 2 位格式,一切都好

我的数据:02 01 20 91 22 转换:02 01 40 31 7F 2014/03/17(F 是未使用的半字节),一切都很好

0 投票
0 回答
328 浏览

ruby - Ruby 如何在 EBCDIC-US 中转换 HEX

如何在 ruby​​ 中将 HEX 字符串转换为 EBCDIC-US 字符串?有图书馆吗?我寻找并没有找到任何东西。我想到的唯一另一种方法是建立一个从十六进制到 ebcdic 的转换表,但有 255 个字符。有什么建议或想法吗?我使用 Mavericks 并尝试了 iconv 但使用

我没有 EBCDIC-US

0 投票
1 回答
722 浏览

eclipse - Eclipse 是否支持 EBCDIC 中的源代码?

我想在 Eclipse 中使用 EBCDIC(IBM i 版本)中的源代码。似乎标准 Eclipse 安装在其编辑器支持的代码页列表中缺少 EBCDIC。那么,有没有办法向 Eclipse 添加对 EBCDIC 源的支持?请注意,我知道 NextGen 和 IBM RDi,但我正在寻找标准 Eclipse 中的 EBCDIC 支持。谢谢,