Como faço para codificar códigos de caracteres Unicode em uma string literal PowerShell?
-
20-08-2019 - |
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
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
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