¿Cómo codifico los códigos de caracteres Unicode en un literal de cadena de PowerShell?
string-literals unicode-literals (3)
¿Cómo puedo codificar el carácter Unicode U + 0048 (H), por ejemplo, en una cadena de PowerShell?
En C # simplemente haría esto: "/u0048"
, pero parece que eso no funciona en PowerShell.
De acuerdo con la documentación, PowerShell 6.0 agrega soporte con esta secuencia de escape:
PS> "`u{0048}"
H
Reemplace ''/ u'' con ''0x'' y transfiéralo a System.Char:
PS > [char]0x0048
H
También puede usar la sintaxis "$ ()" para incrustar un carácter Unicode en una cadena:
PS > "Acme$([char]0x2122) Company"
AcmeT Company
Donde T es la representación de PowerShell del carácter para marcas comerciales no registradas.
Tal vez esta no sea la forma de PowerShell, pero esto es lo que hago. Encuentro que es más limpio.
[regex]::Unescape("/u0048") # Prints H
[regex]::Unescape("/u0048ello") # Prints Hello