¿Cómo codifico códigos de caracteres Unicode en un literal de cadena de PowerShell?
-
20-08-2019 - |
Pregunta
¿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 eso no parece funcionar en PowerShell.
Solución
Reemplace '\ u' con '0x' y envíelo a System.Char:
PS > [char]0x0048
H
También puede usar " $ () " 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 personaje para marcas no registradas.
Otros consejos
De acuerdo con la documentación, PowerShell Core 6.0 agrega soporte con esta secuencia de escape:
PS> "`u{0048}"
H
Quizás esta no sea la forma de PowerShell, pero esto es lo que hago. Me parece más limpio.
[regex]::Unescape("\u0048") # Prints H
[regex]::Unescape("\u0048ello") # Prints Hello
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow