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.

¿Fue útil?

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

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

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