加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 解析包含未知长度字段的字节数组

发布时间:2020-12-14 23:35:43 所属栏目:Java 来源:网络整理
导读:我在 Java中解析一个具有以下规范的字节数组: Trace data format: - 4 bytes containing the Id. - 4 bytes containing the address. - N bytes containing the first name,where 0 N 32 - N bytes containing the last name,where 0 N 32 - 4 bytes contai
我在 Java中解析一个具有以下规范的字节数组:
Trace data format:
    - 4 bytes containing the Id.
    - 4 bytes containing the address.
    - N bytes containing the first name,where 0 < N < 32
    - N bytes containing the last name,where 0 < N < 32
    - 4 bytes containing the Minimum
    - 4 bytes containing the Maximum 
    - 4 bytes containing the Resource Default Level

今天我没有看到解析这个数组的任何解决方案,以获得具有正确类型的7变量.你确认或者我错过了Java中的魔术函数,允许在字节数组中找到字符串“限制”(我无法看到最小值如何与其关联的ASCII字符区分开来).

关于2个字符串之间的特殊字符是否有任何“约定”?

解决方法

好吧,你知道第一个名字从字节9开始,而姓氏以字节结尾(lenght-13).不确定的是如何找到名字的结尾和姓氏的开头.我看到一些可能的消息:

>如果格式是由C程序员定义的,则两个名称字段很可能以空字节终止,因为这是字符串的C约定.
>如果它是由Java程序员定义的,它可以由writeUTF()写入,这意味着字节计数的规范很可能是错误的.但是,这至少指定了编码,否则这是一个悬而未决的问题.>如果它是由COBOL程序员定义的,则这两个字段可以是固定长度的,并用零或空格填充,格式规范列出有效负载长度而不是字段长度.>如果它是由一个真正无能的程序员(无论什么语言)定义的,它包含两个没有分隔符或计数的名称,所以不可能实际分开它们(如果你没有这些信息,那么就没有“魔法”功能了Java或其他可以凭空捏造的东西).我想你可能希望姓氏总是以大写字母开头,没有人使用双重名字或全部大写字母.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读