# Croisillon (signe)

Le croisillon, ou carré au Canada, est un signe typographique noté ‹ # › et souvent confondu avec le symbole musical dièse transcrit ‹ ♯ ›.

## Histoire

Le croisillon # est à l’origine une stylisation de ℔ ligature de « lb », l'abréviation de libra le nom latin de la livre, unité de masse.

### Croisillon sur clavier d'ordinateur ou de tablette

Ce symbole est appelé aux États-Unis pound du nom anglophone de l'unité livre de mesure de masse. Les autres pays anglo-saxons parlent plutôt de number sign ou hash. Le symbole # étant d'abord inconnu des usages francophones lorsque les premiers claviers à le proposer y sont arrivés, même azerty par exemple, l'on a nommé la touche correspondante « touche dièse » du fait de cette ressemblance visuelle avec le symbole musical. Cependant, les anglophones parlent bien de hash key ou de pound key (« touche hash » ou « touche livre »).
En informatique, on notera l'exception C# du langage de programmation, qu'on devrait écrire normalement « C♯ » et non « C# », parce qu'elle se prononce C sharp (traduction anglaise de C dièse) alors qu'il s'agit bien d'un croisillon. Microsoft utilise certes le terme musical dans le nom de ce langage, mais par commodité d'écriture via le symbole courant du croisillon / hash.

## Utilisation
### Divers

Le croisillon peut être utilisé comme :
* symbole de la livre (unité de masse) au sens étymologique de celle-ci ;
* symbole de la livre (monnaie), obsolète ;
* symbole du mot « numéro » en anglais américain (« n$^o$ 1 » s’écrit « #1 ») ;
* opérateur mathématique (préfixe) du cardinal (« #E » désignant le nombre d’éléments de l’ensemble E)
** (nombre et numéro peuvent se traduire en anglais par le même mot, number ; le nom count lève cette ambiguïté en ne signifiant que nombre en français) ;
* symbole sur une touche des claviers téléphoniques appelée dièse en France ou (petit) carré en Belgique et au Canada francophone, jouxtant celles des 10 chiffres et de l’astérisque / étoile ;
* hashtag, mot-dièse ou mot-clic, marqueur introductif d'un renvoi, lié au domaine d'Internet ;
* notation algébrique de la situation finale d'échec et mat au jeu d'échecs.

### Programmation

Le # est très utilisé en programmation informatique comme :
* un identificateur de fragment, c’est-à-dire d'un élément d’une page Web ou autre ressource, dans une URI telle que visible dans la barre d'adresse d'un navigateur web (par exemple le lien #Voir_aussi pointe vers la section Voir aussi ci-dessous) ;
* début d’un commentaire dans de nombreux langages (notamment des langages de script) ; par exemple Bash, AWK, Make, PowerShell ou Python ;
* premier caractère du shebang « #! » ;
* en C ou C++, une instruction passée au préprocesseur, par exemple pour inclure une autre portion de code avec, par exemple : #include <iostream>, définir une macro #define ..., etc. ;
* signe introduisant un sélecteur d'identifiant dans les feuilles de style CSS. Le code de mise en page sélectionné par #myId s'applique aux éléments dont l'identifiant est myId ;
* signe introduisant un code de couleur dans les langages informatiques utilisés sur Internet. Ainsi, le code #fea347 renvoie à la couleur mandarine ;
* le signe utilisé dans la graphie courante officielle du nom du langage de programmation C# (par difficulté de composer le caractère dièse (♯)) ;
* en Lisp, il sert notamment à créer des étiquettes #N= et des renvois #N# dans les expressions de listes circulaires, par exemple #1=(1 2 #1#) est une liste dont le troisième élément est elle-même ;
* en Lua, la fonction donnant la longueur d'une chaîne de caractères ou le nombre d'éléments d'un tableau ;
* en Markdown, un titre ;
* en Mathematica, l'argument primitif d'une fonction. Par exemple, f[#, a, #, b] &[x, y] donne f[x, a, y, b] ;
* en OCaml, un appel de méthode ;
* en TeX et LaTeX, il sert à indiquer les arguments positionnels d'une macro, par exemple #1 est le premier argument. Pour afficher le croisillon, il faut faire \# ;
* en Metafont et Lilypond, il sert à déclarer une valeur numérique transmise avec son unité de base, u#:=4/9pt# ;
* un élément d'une liste ordonnée / numérotée en syntaxe wiki ;
* en Visual Basic, il sert à déclarer le type de variable Double ; ou utilisé dans un motif, il sert à comparer un chiffre.

### Unicode

En Unicode, plusieurs caractères sont assignés :
* U+0023 # croisillon (HTML : &#35;) ;
* U+FE5F ﹟ croisillon minuscule (HTML : &#65119;) ;
* U+FF03 ＃ croisillon pleine chasse (HTML : &#65283;) ;
* U+E0023 󠀣 étiquette croisillon (HTML : &#917539;).