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.

È stato utile?

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

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

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
scroll top