2008-08-11 27 views
6

Bir metin dizesinin belirli bir kodlamayla bir bayt dizisine serileştirildiğini doğrulamak/sınamanın en iyi yolu nedir?Sınama serileştirme kodlaması

Benim durumumda, bir XML yapısının, değişken karakter uzunluğundaki UTF-8 kodlaması ile bir bayt dizisine serileştirildiğini doğrulamak istiyorum. Örnek olarak, mevcut çirkin yordamım, serileştirmeden önce yapıya iki bayt gerektirdiği bilinen bir karakter enjekte etmek, ardından iki baytlı karakteri bir ASCII karakteri ile değiştirmek ve serileştirilmiş dizi uzunluklarını karşılaştırmaktır. Bu, iki baytlı karakterleri içeren dizinin +1 uzunluğunda olması gereken iki seri hale getirilmiş diziyi vermelidir. Çözüm, Java için zarifse, artı. Bayt dizisinde bayt dizisi aramanın zarif bir yolunu düşünemiyorum. (UTF-8'de istenen karakter gösterimini temsil eden bilinen bir bayt dizisini aramak için kullanılabilir.)

cevap

2

Belki de bilinen bir kodlamayı kullanarak bayt dizisini kaldırabilir ve (a) herhangi bir özel durum atmadığından emin olabilirsiniz. ve (b) orijinal dizgiye serpiştirir. Senaryo açıklamasından, orijinal dize kolayca mevcut olmayabilir. Bunu yaratmanın bir yolu olabilir mi?

0

Bu iyi. Haklısınız, özgün bir dizim yok, çünkü bir XML belgesini bir bayt dizisi olarak oluşturan bir modülü test ediyorum. Beklenen bir kodlamayla bir String'e serileştirmeyi düşünmedim. Bu hile yapacak.