Pergunta

Como posso codificar o caractere Unicode U + 0048 (H), por exemplo, em uma string PowerShell?

Em C # gostaria apenas de fazer isso:. "\u0048", mas que não aparece para trabalhar em PowerShell

Foi útil?

Solução

Substituir '\ u' com '0x' e lançá-lo aos System.Char:

PS > [char]0x0048
H

Você também pode usar o "$ ()" sintaxe para incorporar um caractere Unicode em uma string:

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

Onde T é a representação de PowerShell do personagem de marcas não-registrados.

Outras dicas

De acordo com a documentação, PowerShell Núcleo 6.0 adiciona suporte com esta sequência de escape:

PS> "`u{0048}"
H

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

Talvez esta não é a maneira PowerShell, mas isso é o que eu faço. Acho que é para ser mais limpo.

[regex]::Unescape("\u0048") # Prints H
[regex]::Unescape("\u0048ello") # Prints Hello
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top