当前位置: 首页 > 知识库问答 >
问题:

从IBM数据文件解压缩字段

曹鸿风
2023-03-14

我的问题是EBCDIC编码的文件有30个字节被打包,需要解压缩才能获得实际值。我正在尝试使用PHP包/解包功能以及Perl的方法,但没有找到运气。我得到的价值似乎不是我正在寻找的确切价值。我试着用C C H H N打开它。

假设该文件保存EBCDIC编码的数据;pack字段位于635-664位置,30字节长数据1=9字节数据2=9字节数据3=3字节数据4=3字节数据5=3字节数据6=3字节

PHP:

     $datafile = fopen("/var/www/data/datafile", "rb");
     $regebcdicdata = fread($datafile, 634);
     $packfields = fread($datafile, 30);
     $arr= unpack('c9data1/c9bdata2/c3data3/C3data4/C3data5/C3data6',$packfields);
     print_r($arr);
    
    open my $fh, '<:raw', '/var/www/html/PERL/test';
    my $bytes_read = read $fh, my $bytes, 634;
    my $bytes_read2 = read $fh, my $bytes2, 30;
    my ($data1,$data2,$data3,$data4,$data5,$data6) = unpack 'C9 C9 C3 C3 C3 C3',     $bytes2;
    

共有1个答案

阙项禹
2023-03-14

如果不知道这三十个字节是怎么打包的,我不可能帮你打开它们。你一定有什么主意吧?

对于常规的EBCDIC文本,您需要准确地确定文档使用的代码页,然后可以简单地使用Perl IO对其进行解码

假设您正在处理代码页37,那么您可以像这样打开您的文件

open my $fh, '<:encoding(cp37)', 'ebcdic_file' or die $!
 类似资料:
  • 我正在使用Julia的ZipFile包来提取和处理csv文件。没问题,但是当我遇到zip文件中的zip文件时,我也想处理它,但是遇到了一个错误。 Julia ZipFile文档如下:https://zipfilejl.readthedocs.io/en/latest/ 对如何做到这一点有什么想法吗?

  • 问题内容: 我想使用Web浏览器在客户端显示OpenOffice文件,.odt和.odp。 这些文件是压缩文件。使用Ajax,我可以从服务器获取这些文件,但是它们是压缩文件。我必须使用JavaScript解压缩它们,我尝试使用inflate.js,http: //www.onicos.com/staff/iz/amuse/javascript/expert/inflate.txt ,但没有成功。

  • 我的GCP云存储桶中有很多.tar文件。每个.tar文件都有多个图层。我想使用GCP数据流解压缩这些.tar文件,并将它们放回另一个GCP存储桶中。 我找到了Google提供的用于批量解压缩云存储文件的实用工具模板,但它不支持.tar文件扩展名。 也许我应该在上传到云端之前尝试解压文件,或者Beam中是否存在其他内容? 每个tar文件未经压缩大约有15 TB。

  • 问题内容: 我正在使用以下代码来压缩和解压缩字符串数据,但是我面临的问题是,它很容易被压缩而不会出错,但是decompress方法会引发以下错误。 线程“主”中的异常java.io.IOException:不是GZIP格式 仍然不知道如何解决此问题!!! 问题答案: 这是因为 发送您可以从中获得的,并在其中使用它来构建您的。以下是需要在代码中进行的更改。

  • 前面小节介绍了如何对文件和目录删除、移动操作,本小节介绍如何使用命令对文件和目录进行压缩与解压操作,常见的压缩包格式有 .bz2、.Z、.gz、.zip、.xz,压缩之后的文件或目录占用更少的空间。 1. tar 命令介绍 下面列举 tar 命令的参数: tar 命令参数名称 功能与作用描述 -c 新建立压缩档案 -x 解压缩 -t 查看内容 -u 更新原压缩包的内容 -z gzip 属性的 -j

  • Demo示例了如何利用第三方类库 ZipArchive 来解压和压缩.zip文件。Demo的演示过程是:先从网络下载一个.zip文件,然后解压它,最后再进行压缩。 代码的解释文章(英文)是:http://www.icodeblog.com/2012/08/13/unzipping-files-using-zip-archive/ [Code4App.com]