Question

Quelle est la meilleure façon de vérifier/tester qu'une chaîne de texte est sérialisée dans un tableau d'octets avec un certain codage ?

Dans mon cas, je souhaite vérifier qu'une structure XML est sérialisée en un tableau d'octets avec le codage UTF-8 qui est de longueur de caractères variable.À titre d'exemple, ma procédure laide actuelle consiste à injecter un caractère connu pour nécessiter deux octets dans la structure avant la sérialisation, puis à remplacer le caractère à deux octets par un caractère ASCII et à comparer les longueurs des tableaux sérialisés.Cela devrait produire deux tableaux sérialisés où le tableau contenant les caractères à deux octets doit avoir une longueur de +1.

De plus si la solution est élégante pour Java.Je ne vois aucune manière élégante de rechercher une séquence d'octets dans un tableau d'octets.(Pourrait être utilisé pour rechercher une séquence d'octets connue représentant la représentation des caractères souhaitée en UTF-8.)

Était-ce utile?

La solution

Vous pourriez peut-être désérialiser le tableau d'octets en utilisant un codage connu et vous assurer que (a) il ne génère aucune exception et (b) désérialise vers la chaîne d'origine.Il semble que d'après votre description du scénario, vous ne disposiez peut-être pas de la chaîne d'origine.Y aurait-il un moyen de le créer ?

Autres conseils

C'est bien.Vous avez raison, je n'ai pas la chaîne d'origine, puisque je teste un module qui crée un document XML sous forme de tableau d'octets.Je n'ai pas pensé à désérialiser en String avec un encodage attendu.Cela fera l'affaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top