Question

Comment encoder le caractère Unicode U + 0048 (H), par exemple, dans une chaîne PowerShell?

En C #, je voudrais simplement faire ceci: "\u0048" mais cela ne semble pas fonctionner dans PowerShell.

Était-ce utile?

La solution

Remplacez '\ u' par '0x' et convertissez-le en System.Char:

PS > [char]0x0048
H

Vous pouvez également utiliser le " $ () " syntaxe pour incorporer un caractère Unicode dans une chaîne:

PS > "Acme$([char]0x2122) Company"
AcmeT Company

Où T est la représentation du caractère par PowerShell des marques non enregistrées.

Autres conseils

Selon la documentation, PowerShell Core 6.0 ajoute une prise en charge avec cette séquence d'échappement:

PS> "`u{0048}"
H

voir https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-6#unicode-character-ux

Peut-être que ce n’est pas la méthode 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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top