测试序列化编码
时间:2020-03-05 18:38:56 来源:igfitidea点击:
验证/测试文本字符串已以某种编码序列化为字节数组的最佳方法是什么?
就我而言,我想验证XML结构已使用可变字符长度的UTF-8编码序列化为字节数组。例如,我当前的丑陋过程是在序列化之前将已知需要两个字节的字符注入结构,然后将两个字节的字符替换为ASCII字符并比较序列化的数组长度。这将产生两个序列化的数组,其中包含两个字节的字符的数组的长度应为+1.
另外,如果该解决方案对于Java而言是完美的。
我想不出任何优雅的方法来寻找字节数组中的字节序列。 (可用于寻找表示UTF-8中所需字符表示形式的已知字节序列。)
解决方案
回答
也许我们可以使用已知的编码对字节数组进行反序列化,并确保(a)不引发任何异常,以及(b)将反序列化为原始字符串。从对方案的描述看来,我们可能没有立即可用的原始字符串。可能有办法创建它吗?
回答
那挺好的。
没错,我没有原始字符串,因为我正在测试一个将XML文档创建为字节数组的模块。我没有考虑过反序列化为具有预期编码的字符串。这样就可以了。