Comment encoder des codes de caractères Unicode dans un littéral de chaîne PowerShell?
Comment puis-je encoder le caractère Unicode U + 0048 (h), disons, dans une chaîne PowerShell?
En C# je ferais simplement ceci: "u0048"
, mais cela ne semble pas fonctionner dans PowerShell.
37
demandé sur
Peter Mortensen
2009-06-29 09:32:19
3 réponses
Remplacez '\ u ' par ' 0x ' et lancez-le dans System.Char:
PS > [char]0x0048
H
Vous pouvez également utiliser la syntaxe "$ () " pour intégrer un caractère Unicode dans une chaîne:
PS > "Acme$([char]0x2122) Company"
AcmeT Company
Où T est la représentation du caractère de PowerShell pour les marques non enregistrées.
47
répondu
Shay Levy
2017-01-03 20:36:03
Selon la documentation, PowerShell 6.0 ajoute le support avec cette séquence d'échappement:
PS> "`u{0048}"
H
7
répondu
mclayton
2018-03-20 10:34:17
Peut-être que ce N'est pas la façon 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
5
répondu
Kevin Buchan
2017-01-03 20:39:29