验证/测试文本字符串序列化为具有特定编码的字节数组的最佳方法是什么?
在我的例子中,我想验证XML结构是否被序列化为具有可变字符长度的UTF-8编码的字节数组。例如,我目前的丑陋程序是在序列化之前注入一个已知需要两个字节进入结构的字符,然后用ASCII字符替换双字节字符并比较序列化的数组长度。这应该产生两个序列化数组,其中包含双字节字符的数组应该具有长度+1。
另外,如果解决方案对Java来说很优雅。 我想不出任何优雅的方法来寻找字节数组中的字节序列。 (可用于寻找表示UTF-8中所需字符表示的已知字节序列。)
答案 0 :(得分:2)
也许您可以使用已知编码对字节数组进行反序列化,并确保(a)它不会抛出任何异常,并且(b)反序列化为原始字符串。似乎从您对场景的描述中,您可能没有现成的字符串。可能有办法创造它吗?
答案 1 :(得分:0)
那很好。 你是对的,我没有原始字符串,因为我正在测试一个创建XML文档作为字节数组的模块。我没有考虑使用预期的编码反序列化为String。这样就可以了。