Как кодировать коды символов Unicode в строковом литерале PowerShell?
Как я могу кодировать символ Unicode U + 0048 (H), скажем, в строке PowerShell?
В С# я бы просто сделал это: "\u0048"
, но это не работает в PowerShell.
Ответы
Ответ 1
Замените '\ u' на '0x' и переведите его в System.Char:
PS > [char]0x0048
H
Вы также можете использовать синтаксис "$()" для вставки символа Unicode в строку:
PS > "Acme$([char]0x2122) Company"
AcmeT Company
Где T - представление PowerShell символа для незарегистрированных товарных знаков.
Ответ 2
Возможно, это не способ PowerShell, но это то, что я делаю. Я считаю, что это чище.
[regex]::Unescape("\u0048") # Prints H
[regex]::Unescape("\u0048ello") # Prints Hello