首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据规范创建自定义文件格式

根据规范创建自定义文件格式
EN

Stack Overflow用户
提问于 2018-01-11 11:35:07
回答 2查看 797关注 0票数 1

我有一个程序,它生成需要以特定.fsc格式存储的数据。这一格式用于流式细胞术实验(“液体中的细胞计数”)。该文件基本上是一个ASCII头和二进制实验数据。有关文件标准的详细说明可以找到这里

我是新创建的“异国情调”文件,所以我需要知道的是如何根据规范创建这样的文件?

我对标题的ASCII字符和数据的二进制值的组合感到困惑。我怎么把这两者结合起来。为此,我将使用LabVIEW,在这里,我可以创建只包含文本的文件,以及所有东西都有二进制值的二进制文件,但不能两者兼有。还是像创建一个.txt文件一样简单,在该文件中我编写了ASCII头和数据的转换二进制值,然后简单地将文件扩展名从.txt更改为.fsc。

EN

回答 2

Stack Overflow用户

发布于 2018-01-11 12:51:59

在原则上,每个文件都是一个二进制文件,我们是否可以将其读取为文本文件取决于字节是否格式化为ASCII格式,其中特定的规则适用于表示ASCII值的二进制数字。从二进制到ASCII字符的转换在任何ASCII表中都很容易看到。

在FSC格式的情况下,它规定报头应该保存在ASCII标准(如此扁平的文本)。根据您在标头中指定的内容,可以以多种格式存储实际数据。

FSC标准3.3数据段中,这是数据格式的摘录:

数据段包含由$MODE关键字值在主文本段中描述的三种模式之一的原始数据(列表、相关或不相关)。数据以$DATATYPE关键字值描述的四种允许格式(二进制格式、浮点格式、双精度浮点格式或ASCII格式)中的一种格式写入数据段(另见$DATATYPE关键字的描述)。

所以数据可以是任何东西,包括ASCII。

要读取数据,您需要将头读入ASCII格式,解释标题信息,并从头后的第一个字节读取指定格式的文件的其余部分。

一个可能的快捷方式是如果您的仪器(或任何流量循环计)有一个labview驱动程序,并查看它们是否有一个库可用于读取FCS文件。

票数 5
EN

Stack Overflow用户

发布于 2018-01-12 09:54:22

为了给D.J.Klomp的好答案加上几点:

  • 默认情况下,LabVIEW不支持Unicode,因此它将字符串视为字符序列,这些字符总是8位字节。这意味着您可以使用字符串数据类型来处理任何字节序列数据,无论它是否实际上是“文本”。
  • 从规范的快速扫描可以看出,您应该能够通过仔细地将LabVIEW的格式创建为String函数来创建所有的文本格式数据。请注意,它将其输出附加到连接到initial string输入的任何字符串,因此可以将它们链接在一起,以在多个操作中构建数据。
  • 如果您需要使用二进制格式的数据(从问题中的引号来看,您可能不需要使用,除非该数据的目的地不支持其他允许的类型?)您可以在一个U8整数数组中准备它,然后使用字节数组将其转换为字符串
  • 规范提到了每个片段的CRC值,但建议它的使用是可选的--如果您发送此文件的程序或工具抱怨缺少CRC,您应该能够在NI网站上找到一个VI来计算它。我不记得我在过去使用过哪一个,但是通过快速搜索,回答这里中的那个听起来应该能工作。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48206112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档