Délimiteur

Un délimiteur est un ordre d'un ou plusieurs caractères employés pour spécifier la frontière entre les régions séparées et indépendantes en texte plat ou tout autre train de données de données. Un exemple d'un délimiteur est le caractère de virgule, qui agit en tant que délimiteur de champ de dans un ordre des valeurs Virgule-séparées par .

Une alternative à l'utilisation des délimiteurs de champ est la notation déclarative , qui emploie un champ de longueur au début d'une région pour spécifier la frontière. Pour des délimiteurs de mot utilisés sous la forme écrite de langues humaines, voir la séparation entre les mots .

Vue d'ensemble

Des délimiteurs peuvent être décomposés en :
Délimiteurs de champ et de disque de

; et
Délimiteurs de parenthèse.

Délimiteurs de champ et de disque

Zones d'information séparées de délimiteurs de champ. Les délimiteurs record séparent des groupes de champs.

Par exemple, le format de fichier (CSV) emploie une virgule pendant que le délimiteur entre le met en place , et un indicateur de l'End-of-line pendant que le délimiteur entre le enregistre . Par exemple : lang=" de fname, lname, âge, salaire Nancy, davolio, 33, $30000 erin, borakova, 28, $25250 élégant, Raphael, 35, $28700 spécifie une table simple de la base de données de dossier plat de using le format de fichier (CSV).

Conventions

Les plates-formes de calcul emploient historiquement certains délimiteurs par convention. Les tables suivantes dépeignent juste quelques exemples pour la comparaison.

Langages de programmation de (le voient également , comparaison de des langages de programmation (syntaxe) ).

Délimiteurs de parenthèse

Encadrer les délimiteurs (bloquer également les délimiteurs, les délimiteurs de région, les délimiteurs équilibrés) marquent le début et la fin d'une région de texte. Ils sont employés dans presque tous les langages de programmation, y compris le Wikicode .

Les exemples communs des délimiteurs de la parenthèse de incluent :

class="

description de des délimiteurs accolades du

de programmation

de

de de > de
( et ) . Le blèsent syntaxe de langage de programmation de est cité comme reconnaissable principalement de son utilisation de parenthesis.
{ et } .
et crochets de .
< ; et > ; chevrons de de .
" ; et " ; utilisé généralement pour dénoter les constantes de chaîne
' et ' utilisé généralement pour dénoter la corde literals.
< ? et ? >used pour indiquer le XML traitant instructions.
/* et */used pour dénoter les commentaires dans un certain languages.
Collision< de délimiteur ! -- Cette section est liée de la constante de chaîne --> La collision de délimiteur de est un problème qui se pose quand un auteur ou un programmeur présente des délimiteurs dans le texte sans les prévoir réellement à interpréter comme frontières entre les régions séparées.

Séquence d'échappement

Les séquences d'échappement sont semblables aux caractères d'échappement, à moins qu'elles se composent habituellement d'un certain genre de mnémonique au lieu juste d'un caractère simple. Une utilisation est dans les constantes de chaîne qui incluent un doublequote (le " ;) caractère. Par exemple dans Perl , le code : " d'impression ; Le monde a dit de Nancy \ x34Hello ! \ x34 au crowd." ; ; utilisation de ### \ x34

produit le même rendement que : " d'impression ; Nancy a indiqué \ " ; Bonjour monde ! \ " ; au crowd." ; ; char d'évasion d'utilisation de ###

Un inconvénient des séquences d'échappement, une fois utilisée par des personnes, est la nécessité de mémoriser les codes qui représentent différents caractères (voir également : Référence d'entité de caractère , référence de caractère numérique ).

Délimiteurs de citation duels

Contrairement aux séquences d'échappement et aux caractères d'échappement, délimiteurs duels fournir encore une autre manière d'éviter la collision de délimiteur. Quelques langues, par exemple, permettent l'utilisation d'un singlequote (') ou d'un doublequote (le " ;) pour spécifier une constante de chaîne. Par exemple dans Perl :

la copie « Nancy a indiqué le " ; Bonjour monde ! " ; à la foule.  » ; produit le rendement désiré sans exiger des évasions. Cette approche, cependant, fonctionne seulement quand la corde ne contient pas le les deux types de de guillemets.

Multiple citant des délimiteurs

Contrairement aux délimiteurs duels, les délimiteurs multiples sont bien plus flexibles pour éviter la collision de délimiteur.

Par exemple dans Perl : le qq^Nancy d'impression ne veut pas indiquer le " ; Bonjour monde ! " ; anymore.^ ;

le qq@Nancy d'impression ne veut pas indiquer le " ; Bonjour monde ! " ; anymore.@ ;

le qq§Nancy d'impression ne veut pas indiquer le " ; Bonjour monde ! " ; anymore.§ ;

tout le produit le rendement désiré par l'utilisation de l'opérateur de quotelike de , qui permet à des caractères d'agir en tant que délimiteurs. Bien que cette méthode soit plus flexible, peu de langues la soutiennent. Perl et rubis sont deux qui font.

Frontière contente

Une frontière de contenu de est un type spécial de délimiteur qui est spécifiquement conçu pour résister à la collision de délimiteur. Cela fonctionne à côté de permettre à l'auteur de spécifier un long ordre des caractères qui est garanti pour indiquer toujours une frontière entre les parties dans un message à parties multiples, sans l'autre interprétation possible.

Ceci est habituellement fait en spécifiant un ordre aléatoire des caractères suivis d'une marque de identification telle qu'un UUID , un horodateur , ou une autre marque de distinction. (le voient par exemple , MIME , les documents de ici.

Whitespace ou impression

Quelques la programmation et langages de programmation permettent l'utilisation des délimiteurs de whitespace de ou de l'impression afin de spécifier des frontières entre les régions indépendantes en texte. Le python et le YAML sont des exemples en avant.

Syntaxe d'expression régulière de

voient également :

s exemples d'expression régulière de

En spécifiant une expression régulière , des délimiteurs alternatifs peuvent également être employés pour simplifier la syntaxe pour l'allumette et des opérations de la substitution dans Perl .

Par exemple, une opération simple d'allumette peut être spécifiée dans le Perl avec la syntaxe suivante :

$string1 = « Nancy a indiqué le " ; Bonjour monde ! " ; à la foule.  » ; # spécifier une corde de cible imprimer $string1 le =~ m/+/; # allumette une ou plusieurs voyelles

La syntaxe est assez flexible pour spécifier des opérations d'allumette avec les délimiteurs alternatifs, le rendant facile d'éviter la collision de délimiteur :

$string1 = « Nancy a indiqué le " ; httq : //Hello/World.htm" ; n'est pas une adresse valide.  » ; # corde de cible m@httq de =~ de l'impression $string1 : //@ ; # allumette using le délimiteur alternatif d'expression régulière =~ m {httq de l'impression $string1 : /} ; # mêmes que précédents, mais délimiteur différent =~ m de l'impression $string1 ! httq : /! ; # mêmes que précédents, mais délimiteur différent

Armure d'ASCII

Bien que principalement utilisé comme mécanisme pour le codage des textes des données binaires, " ; ASCII armoring le quot de ; est une technique de programmation et d'administration de systèmes cela aide également à éviter la collision de délimiteur dans quelques circonstances. Cette technique est contrastée des autres approches décrites en haut parce qu'elle est plus compliquée, et donc non appropriées pour de petits applications et formats de stockage de données simples. La technique utilise une fonction de gâchis spéciale d'arrangement ou de de codage , tel que le Base64 , pour s'assurer que les caractères de délimiteur n'apparaissent pas dans des Emissions de Données.

Cette technique est employée, par exemple, dans le technologie de développement de Web du ASP.NET de s de Microsoft ', et est étroitement associée au " ; VIEWSTATE" ; composant de ce système.

Exemple

Ce qui suit est un exemple simplifié démontrant comment cette technique fonctionne dans la pratique.

Le premier fragment de code montre une étiquette simple de HTML dans laquelle la valeur de VIEWSTATE contient les caractères qui sont incompatibles avec les délimiteurs de l'étiquette de HTML lui-même : lang=" de type=" de

Ce premier fragment de code n'est pas le bien formé, et donc ne fonctionnerait pas correctement dans un " ; vrai world" ; système déployé.

En revanche, le deuxième fragment de code montre une étiquette semblable de HTML, à moins que des caractères incompatibles de cette fois en valeur de VIEWSTATE soient enlevés par l'application du codage base64 : lang=" de type=" de Ceci empêche la collision de délimiteur et s'assure que les caractères incompatibles n'apparaîtront pas à l'intérieur du code de HTML, indépendamment de quels caractères apparaissent dans le texte (décodé) original.

Random links:Banlieue noire de Solon, comté de Kent, Michigan | Spectroscopie d'absorption | Camilo Nogueira Román | Bonnet de nuit | Delimitador