Как я могу кодировать символ Unicode U + 0048 (H), скажем, в строке PowerShell?
В C # я бы просто сделал это: "\u0048", но в PowerShell это не работает.
"\u0048"
Замените '\ u' на '0x' и приведите его к System.Char:
PS > [char]0x0048 H
Вы также можете использовать синтаксис "$ ()" для встраивания символа Unicode в строку:
PS > "Acme$([char]0x2122) Company" AcmeT Company
Где T - представление символа PowerShell для незарегистрированных товарных знаков.
Согласно документации, PowerShell Core 6.0 добавляет поддержку с помощью следующей управляющей последовательности:
PS> "`u{0048}" H
см. https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-6#unicode-character-ux
Возможно, это не так, как в PowerShell, но это то, что я делаю. Я считаю, что это чище.
[regex]::Unescape("\u0048") # Prints H [regex]::Unescape("\u0048ello") # Prints Hello