MARC记录字段导出
将ISO2709原始记录读为完整有序字段/子字段JSON与长表CSV,保留Unicode、重复tag、indicator及目录/值字节位置。
- 1添加输入
- 2调整设置
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
导出书目数据,保留重复字段,不猜测编码;结合原件检查结构与编码诊断。
如何使用
- 选择一份完整.mrc字节流,明确编码profile。
- 检查记录/字段数、未核实覆盖及记录诊断。
- 下载全部有序字段和原始字节;按值跨度在original.mrc中定位数据。
支持范围与限制
一份最多10MiB的原始文件,最多10,000记录、100,000字段、200,000子字段。完整original.mrc+records.json+fields.csv总计64MiB。十进制框架字段最多9,999字节、记录最多99,999字节;各预算相互约束。
声明profile:24字节ASCII leader、12字节目录项、entry map4500、两个indicator和两字节子字段标识。保留数字或单一字母大小写的三字符tag及本地ASCII子字段符号。外层BOM、目录间隙/重叠、未索引数据和错误框架被拒绝。
leader a表示UTF-8。leader编码为空时,必须明确选择已知UTF-8覆盖,状态仍为未核实。其他编码及MARC8转换为Unsupported。非法UTF-8被拒绝;字段内字面BOM保留。
分别记录目录顺序与物理数据顺序,保留全部重复字段/子字段和原值。已知ID/005/顺序问题仅为诊断,不表示完整MARC21书目、tag含义或字符集范围有效;不读MARCXML,也不扁平化为宽表。
fields.csv包含全部control/subfield值。公式状单元格加前置单引号并标csvLiteralPrefixAdded=1;可结合标志或JSON/原件还原原值,UI表格显示原值。
表格仅预览前200行,长单元格截取前2,000个UTF-16单位;报告超过20,000单位时复制为精简预览。完整JSON、CSV及原件下载保留全部内容。输出总预算统一计算,超限时不交付部分文件。
操作示例
示例输入
catalogue.mrc: 234 bytes
示例参数
{"params":{"profile":"leader-utf8"}}示例输出
{"schemaVersion":1,"candidateId":"D115","model":"ISO2709 structural extraction; declared UTF8 or explicit unverified override; no catalogue conformance or MARC8 conversion","profile":"leader-utf8","inputBytes":234,"recordCount":1,"fieldCount":5,"subfieldCount":7,"csvRows":9,"csvLiteralPrefixes":0,"records":[{"recordIndex":1,"byteStart":0,"byteEnd":234,"leader":"00234nam a2200085 4500","recordLength":234,"baseAddress":85,"encodingStatus":"declared-utf8","diagnostics":[],"catalogueRulesChecked":false,"fields":[{"directoryIndex":1,"physicalIndex":1,"tag":"001","directorySpan":[24,36],"fieldSpan":[85,90],"kind":"control","indicators":null,"value":"R001","valueSpan":[85,89],"subfields":[]},{"directoryIndex":2,"physicalIndex":2,"tag":"008","directorySpan":[36,48],"fieldSpan":[90,131],"kind":"control","indicators":null,"value":"240101s2024 xx eng ","valueSpan":[90,130],"subfields":[]},{"directoryIndex":3,"physicalIndex":3,"tag":"245","directorySpan":[48,60],"fieldSpan":[131,188],"kind":"data","indicators":["1","0"],"value":null,"valueSpan":null,"subfields":[{"subfieldIndex":1,"code":"a","codeSpan":[133,135],"valueSpan":[135,166],"value":"České čtení — 中文 🧪"},{"subfieldIndex":2,"code":"b","codeSpan":[166,168],"valueSpan":[168,177],"value":"podnázev"},{"subfieldIndex":3,"code":"a","codeSpan":[177,179],"valueSpan":[179,187],"value":"repeated"}]},{"directoryIndex":4,"physicalIndex":4,"tag":"650","directorySpan":[60,72],"fieldSpan":[188,215],"kind":"data","indicators":[" "," "],"value":null,"valueSpan":null,"subfields":[{"subfieldIndex":1,"code":"a","codeSpan":[190,192],"valueSpan":[192,199],"value":"A topic"},{"subfieldIndex":2,"code":"x","codeSpan":[199,201],"valueSpan":[201,207],"value":"Detail"},{"subfieldIndex":3,"code":"9","codeSpan":[207,209],"valueSpan":[209,214],"value":"local"}]},{"directoryIndex":5,"physicalIndex":5,"tag":"650","directorySpan":[72,84],"fieldSpan":[215,233],"kind":"data","indicators":[" "," "],"value":null,"valueSpan":null,"subfields":[{"subfieldIndex":1,"code":"a","codeSpan":[217,219],"valueSpan":[219,232],"value":"Another topic"}]}]}]}
出现问题时
核对所选profile与原件,修正输入或减少完整输入/输出规模。取消和错误不会发布部分文件;可用相同受支持原件重新运行。
常见问题
能修复MARC8文件吗?
不能,MARC8转换为Unsupported。只有已知UTF-8字节才可使用空leader显式覆盖。
每个解析成功的记录都是有效书目吗?
不是,检查框架与声明编码profile;完整书目含义、重复性与字符集范围仍未审查。