Come posso codificare i codici dei caratteri Unicode in una stringa di PowerShell letterale?
-
20-08-2019 - |
Domanda
Come posso codificare il carattere Unicode U + 0048 (H), diciamo, in una stringa di PowerShell?
In C # farei solo questo: "\u0048"
, ma ciò non sembra funzionare in PowerShell.
Soluzione
Sostituisci '\ u' con '0x' e lancialo su System.Char:
PS > [char]0x0048
H
Puoi anche usare " $ () " sintassi per incorporare un carattere Unicode in una stringa:
PS > "Acme$([char]0x2122) Company"
AcmeT Company
Dove T è la rappresentazione del personaggio di PowerShell per marchi non registrati.
Altri suggerimenti
Secondo la documentazione, PowerShell Core 6.0 aggiunge il supporto con questa sequenza di escape:
PS> "`u{0048}"
H
Forse questo non è il modo PowerShell, ma questo è quello che faccio. Trovo che sia più pulito.
[regex]::Unescape("\u0048") # Prints H
[regex]::Unescape("\u0048ello") # Prints Hello
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow