我已經弄清楚了自己,萬一它會對別人有幫助,我會發布答案。
EduExamPackage.QuestionDetailTest.Builder testPb = EduExamPackage.QuestionDetailTest.newBuilder().setQuestion(EduExamPackage.Question.newBuilder().setAid(6666));
byte[] byteData = testPb.build().toByteArray();
EduExamPackage.Question question = EduExamPackage.Question.getDefaultInstance();
for (int i = 0; i < 10000; i++) {
for (int j = 0; j <10000000 ; j++) {
try {
question = EduExamPackage.Question.PARSER.parseFrom(byteData, i, j);
} catch (Exception e) {
continue;
}
if (question.hasAid()) {
System.out.println("found aid ! : " + question.getAid());
System.out.println("found !!! \n i: "+ i+ " j: "+j);
return ;
}
}
}`
found !!!
i: 2 j: 3
結果表明,場定期alined。所以特定標籤num處的commond字段可以通過這種方式得到。