En programmation informatique, les identificateurs sont des mots qui sont reconnus par le compilateur ou l'interpréteur et qui permettent, telles des étiquettes, de désigner des concepts du langage de programmation : des variables, des types, des constantes, etc.
Parmi les différents langages de programmation existants, on distingue les anciens qui supportent des identifiants ASCII et d'autres ceux qui supportent des identifiants plus modernes Unicode ou UCS2. Certains langages acceptent cependant des identifiant écrits dans des jeux de caractères locaux (comme le Latin-1 ou ISO 8859-1).
Unicode définit dans une de ses annexes[1], une base pour spécifier les identificateurs, tout en permettant à chaque langage de fonctionner sur des variantes de cette base.
Les langages Ada, Java, Microsoft .NET, Perl 6, StarOffice Basic sont compatibles avec des identificateurs Unicode.
Les langages Clisp, Delphi devraient/pourraient être compatibles avec des identificateurs Unicode .
Les développeurs ont parfois besoin d'exprimer les concepts qu'ils utilisent avec des mots et des symboles qui leurs sont familiers, en particulier pour les non anglophones.
Par ailleurs, avec l'usage croissant d'Internet, l'usage d'Unicode se répand. En programmation, il est présent :
Les langages s'interfaçant avec Java et .NET nécessitent le support d'identifiants Unicode, pour être interopérables. Sans cela, une portion de l'espace de noms ne serait pas accessible.
Dans les langages de balisage, mais également dans tous les types de ressources informatiques et tous les types d'application, on peut employer des métadonnées pour décrire les données. L'identifiant est l'un des éléments couramment employés pour l'accès aux ressources (URI). L'identifiant peut faire l'objet de règles de nommage.