Подтвердить что ты не робот

Как кодировать коды символов Unicode в строковом литерале PowerShell?

Как я могу кодировать символ Unicode U + 0048 (H), скажем, в строке PowerShell?

В С# я бы просто сделал это: "\u0048", но это не работает в PowerShell.

4b9b3361

Ответ 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