Comptage des positions en octets
Vue d’ensemble
Vous pouvez utiliser la propriété Count Positions In Bytes du nœud Schema pour :
- Spécifier la façon dont les valeurs que vous entrez pour les propriétés Longueur positionnelle et Décalage positionnel des différents champs dans les enregistrements positionnels sont interprétées
- Spécifier la façon dont les valeurs que vous entrez pour la propriété Tag Offset des enregistrements positionnels eux-mêmes sont interprétées
Par défaut, ces valeurs sont interprétées comme un nombre de caractères. Toutefois, lorsque la propriété Count Positions In Bytes a la valeur True, ces valeurs sont interprétées comme un nombre d’octets.
Il peut être nécessaire de définir la propriété Count Positions In Bytes sur True lors du traitement des données de jeu de caractères multioctets (MBCS ou DBCS), ou lorsque vos messages de fichiers plats proviennent de SAP, de mainframes ou d’autres systèmes qui peuvent compter des positions en octets.
Le comptage des longueurs de champ en octets peut être compliqué lorsque le nombre d'octets utilisés pour coder les caractères est variable et peut entraîner quelques problèmes pour la détermination des limites des champs. Lorsque le désassembleur de fichier plat analyse un fichier plat dans pareil cas, il tente de prendre des mesures d'analyse appropriées en fonction de sa connaissance du codage de caractères utilisé.
Un exemple de ce type de décision d'analyse est celui des octets de tête des codages de caractères MBCS. Les octets de tête sont des valeurs d'octet connues utilisées pour commencer les codages de caractères multioctet. Ils ne doivent jamais se trouver seuls. En spécifiant la longueur des champs à l'aide d'octets plutôt que de caractères, vous pourrez être confronté à des situations où le dernier octet d'un champ se révèlera être un octet de tête, qui ne pourra donc pas constituer un caractère entier à lui seul. En pareil cas, le désassembleur de fichier plat traitera le caractère précédant immédiatement l'octet de tête comme dernier caractère du champ précédent, et commencera l'analyse du champ suivant à partir de l'octet de tête.
Pour plus d’informations sur ces propriétés, consultez les conseils d’interface utilisateur et les informations de référence sur l’espace de noms d’API des développeurs.