交付与交换 / X7 · 缺值形态

收到交件时要分开的几种缺值长相

交付文件里的“空”不只是一格什么都没有。接收时至少要把四种形态分开看:真正的空串、明确的短横占位、看起来像正常编号的默认值,以及看起来像合法时码的零值。它们都可能表示“这里没有可确认的数据”,但外观和产生原因不同,不能在验收时混成一类。

没有数据,不一定长得像空白;有些缺值恰恰会长得很像正常值。

空串是看得见的缺口

表格类交付里,很多缺失字段会直接写成空串。没有机位时,相应机位列可以为空;缺少入点、拍摄日或其他可选信息时,也可能看到空单元格。

空串的好处是接收方容易发现“这里没有内容”。但它仍然只说明这一份产物没有写值,不能单独回答源记录里从来没有这个数据,还是生成时没有取到这个数据。验收仍要回到记录来源。

不同交付格式的缺值策略也不同。不能因为一份表格里常见空串,就推断另一份清单会以同样方式表达缺失。

短横线是明确占位,不是业务值

某些字段在没有内容时会写 -。我们自己的日报 PDF 就是这一档:导演、组别、通告、收工那几格没记到就印一个短横线。这里的短横线不是一个真实名字、编号或状态,而是在告诉接收方“当前没有值”。反过来说,两件机读件里读不到这一档——ALE 与 CSV 的缺值是空串,拿“看见短横线才算缺”去检查它们会漏掉整片空格。

问题在于,短横线并不是所有列共同的缺值写法。同一个文件里,别的字段可能为空串,也可能得到默认编号或零时码。因此不能建立一条“看到缺值就找 -”的通用规则。

接收方应按列理解占位含义。某一列里的 - 可以明确是占位,另一列却可能从不使用这种写法。

默认编号看起来尤其像真实记录

缺少机位上下文时,人读的那两件里卷号与声卷会出现 A001、S001 这样的形状:机位字母加三位自增,软件数出来的。它们与真实卡号在屏幕上看不出差别,因此只凭字符串合不合形,读不出这一枚是不是现场确认过的值。

同一件事在机读件里走的是另一条路。ALE 用来认源的那四格——Tape、Reel #、Soundroll、Camroll——只吃你抄进来的卡号,没抄就空着,派生号不顶上。CSV 把两栏并排交出去:一栏是软件数的显示号,一栏是你抄的真实卡号,分开摆就是让人去对。

这类值不能在文件内部自证。接收方需要把卷号、片段号和素材文件名对到现场记录或媒体本身,确认它到底是现场实际记录,还是软件补出来的值。

“格式像真的”只能说明字符串合形,不能说明来源已经核实。

全零时码可能是真的零,也可能是缺值

00:00:00:00 是更需要回源的一种形态。它本身是一个可读的时码字符串,所以语法检查不会把它当作空值;而另一家的生成器在缺少可用时码或时长时可能写出这一串,这正是它危险的地方。我们自己的三件交件已经不写它:时码没记到、形状或范围不过关,一律交空——缺就是缺,不补一个看起来合法的零。

因此,仅凭产物本身,接收方不能区分“现场真的从零点开始”和“没有可用值,于是被补成零”。要把两种情况分开,只能去看现场记录、素材元数据或其他可追溯来源。

跨度也是那种算出来的格子:Duration 由起止两枚读数得出,缺任何一枚就整格交空。一个派生结果看起来完整,不表示它背后的输入真存在。

四种形态不能跨格式套用

SlateX 这一侧的规矩现在可以说得很短。两件机读件(ALE 与 CSV)里缺值只有一种长相:空串——不写短横线,不写全零时码,帧率那一栏机位没声明就跟着空,不存在一份给 25、另一份给 24 那种分叉。短横线那一档只在人读的日报 PDF 上出现;A001 这一族派生号出现在 CSV 与 PDF 的人读列里,也作为文件名片段进 ALE 的 Name,只有 ALE 认源那几格不拿它顶上。还有一格要认得:ALE 里值明明记着、那一格却仍然是空的——那一栏装不下这种文字,非拉丁字符整格交空,逐字原文在 CSV 与 PDF 里。

因此,不应写成“缺值统一填某个符号”。接收规则应针对具体格式和具体列建立:哪些列可能留空,哪些列会写占位,哪些列会造出合法外观的默认值,哪些时间字段可能落成零值。

目前的交付文件也不会额外标记“这个值是生成器造的”。当默认编号和零值与真实值外观相同时,核对责任仍在接收方。最稳妥的做法不是猜,而是找到源记录。

把这些值按顺序核下去,另见《接收方怎样判断一份现场交件可以继续用》。

FAQ

空单元格和 - 可以当成同一种缺值吗?

不应该。它们都可能代表缺失,但属于不同的输出形态,而且不是每一列都使用同一规则。接收时应按具体字段解释。

A001 出现在文件里,就一定是现场卷号吗?

不能这样判断。CSV 与 PDF 里那一列本来就是软件按机位字母加序号数出来的显示号,写得像卷号;真正从现场抄来的卡号在另一栏。ALE 认源那几格不吃派生号,没抄到就空着。核对时把这两栏分开看。

00:00:00:00 能不能直接当真实零点?

不能只凭这一串字符下结论——放到任何一件交件里都一样,它既可以是合法零点,也可能是缺失时被补出来的形态,需要回到来源确认。我们自己的三件交件已经不写这一串,缺值一律空着。

为什么不能用一套缺值规则检查所有交付格式?

因为同一批数据落在不同载体上写法不一样:人读的那件写占位,机读的那两件一律留空,像 A001 这样的派生号出现在人读列里,也作为文件名片段进 ALE 的 Name。接收规则要按载体、按列逐条建立。


上海智独教育科技有限公司 — SlateX

网站备案号:沪ICP备2026001245号-1 App 备案号:沪ICP备2026001245号-3A

上海智独教育科技有限公司

上海市嘉定区澄浏公路52号39幢2楼J

support@slateprotocol.com