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

java - 如何将 HEX 值更改为 EBCDIC 字符

在 Java 中将 HEX 值转换为 ebcdic char 类型的最简单方法是什么

例如,下面的示例将在符号处返回,但我想获得 ebcidic 等价物,即空格字符..

字符串十六进制 = "40"; char c = (char) Integer.parseInt(hex, 16);

0 投票
3 回答
7583 浏览

c# - 如何在 C# 中将 ASCII 数据转换为 EBCDIC?

我使用此链接阅读了有关将 ASCII 转换为 EBCDIC 的信息;
在Java中将字符串从ASCII转换为EBCDIC?

但这是在java中。我的要求是在 C#.Net 中。

那么你能帮我解决这个问题吗?

谢谢和问候,
克里希纳库马尔

0 投票
2 回答
264 浏览

cgi - 如何在 RPG-CGI pgm 生成的 java-script 函数中使用 { } 大括号

如何编写一个 RPG-CGI 程序来生成一个 HTML 页面,该页面包含一个具有函数 xxx() { aaaaaaaaaaaaa; 的 java 脚本程序;sssssssssssssssssssssssssssssssss }。当使用 Hex 代码常量写入时,它会在浏览器中的实际 html 代码中更改为其他符号。

EBCDIC 字符集是否包含{ , } , [ , ] , ! 符号.......如果没有,那么如何在 AS/400 RPG-CGI 程序中使用它?

0 投票
4 回答
2214 浏览

c# - EBCDIC 到 ASCII 的转换。越界错误。在 C# 中

我尝试使用此通用转换顺序(如下所示)在 C# 中创建 EBCDIC 到 ASCII 对流器。基本上,程序使用以下顺序从 ASCII 转换为等效整数,然后从那里转换为 EDCDIC。

现在,当我尝试在 C# 中编译它并尝试给出 EBCDIC 字符串(从另一台计算机的另一个文件中获取)时,它显示某些 EBCDIC 字符的“超出范围”异常。为什么会这样??是关于造型吗??还是 C# ?? 还是窗户?

额外:我尝试使用 0..255 个数字的循环打印出所有 ASCII 和 EBCDIC 字符,但仍然没有显示许多 EBCDIC 字符。我是否缺少任何标准?

整个代码如下:

0 投票
2 回答
2100 浏览

ruby - 如何在 Ruby 中进行 ASCII 到 EBCDIC 的转换?

我在 Mac OS X 上使用 Ruby 1.8.7。

如何将 ASCII 转换为 EBCDIC 编码,以便与旧系统进行通信。我必须使用jruby吗?

0 投票
3 回答
2222 浏览

.net - 如何使用非标准代码页读取 EBCDIC 数据,而不是弄乱数字?

这是给老(呃)手的一个:-)

我正在从大型机 DB2 表中读取二进制转储。该表具有 varchar、char、smallint、integer 和 float 列。为了让它更有趣,DB2 使用了代码页 424(希伯来语)。我需要我的代码独立于代码页。

因此,我使用 System.Text.Encoding 使用流读取器打开文件,如下所示:

并继续使用 VARCHAR 和 CHAR 数据根据它们的长度读入 char 数组

始终记住 VARCHAR 列中的前 2 个字节应该被丢弃并获得正确的字符串

一切都很好!

但现在我到了 SMALLINT 专栏,我遇到了麻烦。有符号数的值存储在 2 个字节中,因为它的大端,我做

我得到错误的数字!例如,如果字节是 00 03,我在 buffer(1) 中得到 0,在 buffer(0) 中得到 3 - 很好。但是当两个字节为 00 20 时,我将 128 读入缓冲区(0)!

因此,在拉了半天的头发之后,我将编码器从流读取器声明中删除,现在我将 32 读入缓冲区(0),就像它应该的那样!!!

最重要的是,非标准代码页编码器弄乱了字节读数!!!

知道如何解决这个问题吗?

0 投票
2 回答
917 浏览

unicode - 如何检测 .NET 4.0 中的 EBCDIC 是否支持 Unicode 字符?

我们有一个用 .NET 4.0 编写的网站和 WinForms 应用程序,允许用户输入任何 Unicode 字符(相当标准)。

问题是我们的少量数据被提交到旧的大型机应用程序。在我们进行测试时,一位用户输入了一个带有字符的名称,最终导致大型机程序崩溃。名字是BOËNS。不支持 E。

检测 EBCDIC 是否支持 unicode char 的最佳方法是什么?

我尝试使用以下正则表达式,但这限制了一些适用于大型机的标准特殊字符(/、_、:)。

我宁愿使用一种方法来验证每个字符,或者使用您刚刚在字符串中传递的方法,如果 EBCDIC 不支持的字符包含在字符串中,它返回 true 或 false。

0 投票
2 回答
9543 浏览

utf-8 - 如何将带有中文字符的 EBCDIC 转换为 UTF-8 格式

我需要将使用 IBM937 代码页编码的 EBCDIC 编码的文件转换为 UTF-8 格式,以便将文件加载到启用多字节的 DB2 数据库中。

我尝试过 unix recode 和 iconv。他们都没有能力将 IBM 937 转换为 UTF8。我正在寻找这个世界上可以在基于 unix 的系统上执行此操作的任何实用程序(java、perl、unix)。有人可以在这里帮助我吗?

SL

0 投票
2 回答
3902 浏览

c# - C# 使用压缩小数在 EBCDIC 中编码文件

我必须为外部实体准备一个文件,该实体使用带有 COBOL 的 IBM 大型机,并要求该文件以 EBCDIC 编码。我正在用 C# 创建文件。我想这是一个由两部分组成的问题……首先,下面的代码是否足以确保以他们可以读取的方式生成文件?

其次,文件中的几个字段需要压缩十进制,格式为 S(9)13 COMP-3。由于我已经指定了 EBCDIC 编码,我可以使用以下方法将十进制数(例如 1234500000001)写入文件:

...并在生成的文件中正确显示?

从未对 EBCDIC 或 COMP-3 做过任何事情。

0 投票
4 回答
7210 浏览

decimal - 如何在单个文件中包含压缩十进制和普通文本?

我需要生成一个固定宽度的文件,其中包含少数压缩十进制格式的列和少数正常数字格式的列。我能够生成。我将文件压缩并传递给大型机团队。他们将其导入并解压缩文件并转换为 EBCDIC。他们能够毫无问题地获得压缩十进制列,但正常的数字字段似乎搞砸了并且不可读。在将文件发送到大型机之前,在处理/压缩文件时我需要做一些具体的事情吗?我正在使用 COMP3 压缩十进制。目前在 Windows XP 上工作,但真正的生产将在 RHEL 上。

提前感谢您帮助我。这是紧急的。


2011 年 6 月 6 日编辑:

这就是我打开 HEX 时的样子。

第一行中的“A”有轻微的重音,所以它不是实际的大写 A。

210003166 是原始小数。comp3 转换之前的压缩十进制值是 000000002765000(如果需要,我们可以忽略前导零)。


更新 2:2011 年 6 月 7 日 这就是我如何转换创建加载到大型机中的文件:文件包含两列 - 标识号和数量。识别号不需要comp3转换,金额需要comp3转换。Comp3 转换在 oracle sql 结束时执行。这是执行转换的查询:

执行查询后,我在 Java 中执行以下操作:

这样生成的文本文件由winzip工具手动压缩并提供给大型机团队。大型机团队将文件加载到大型机并使用 HEXON 浏览文件。

现在,来到分区十进制的高四位的转换,我应该在将它纠正到文件之前这样做吗?还是我要在大型机端应用翻转?目前,我已经使用以下代码在 java 端完成了翻转:

标识符在 java 端变为 21000316F,这就是写入文件的内容。我已将文件传递给大型机团队并等待 HEXON 的输出。如果我遗漏了什么,请告诉我。谢谢。


更新 3:2011 年 6 月 9 日

好的,我得到了大型机结果。我现在正在这样做。

我得到以下输出:

我一定是做错了什么!

更新 4:2011 年 6 月 14 日

在使用 James 的建议后,这个问题得到了解决。我目前正在使用下面的代码,它给了我预期的输出: