Comment puis-je encoder le caractère Unicode U + 0048 (H), par exemple, dans une chaîne PowerShell?
En C #, je ferais juste ceci: "\u0048"
, mais cela ne semble pas fonctionner dans PowerShell.
Remplacez "\ u" par "0x" et convertissez-le en System.Char:
PS > [char]0x0048
H
Vous pouvez également utiliser la syntaxe "$ ()" pour incorporer un caractère Unicode dans une chaîne:
PS > "Acme$([char]0x2122) Company"
AcmeT Company
Où T est la représentation par PowerShell du personnage pour les marques non enregistrées.
Selon la documentation, PowerShell Core 6.0 prend en charge cette séquence d'échappement:
PS> "`u{0048}"
H
Ce n'est peut-être pas la manière PowerShell, mais c'est ce que je fais. Je trouve que c'est plus propre.
[regex]::Unescape("\u0048") # Prints H
[regex]::Unescape("\u0048Ello") # Prints Hello