どのように私はリテラルPowerShellの文字列内のUnicode文字コードをエンコードするのですか?
-
20-08-2019 - |
質問
どのように私は、Unicode文字U + 0048(H)をコードすることができ、PowerShellの文字列で、言うの?
C#では私はこれだろう:"\u0048"
を、それはPowerShellで動作するように表示されません。
解決
'0X' で '\ U' 交換してのSystem.Charにキャストます:
PS > [char]0x0048
H
また、文字列にUnicode文字を埋め込む「$()」構文を使用することができます
PS > "Acme$([char]0x2122) Company"
AcmeT Company
ここでTは、非登録商標の文字のPowerShellの表現です。
他のヒント
のドキュメントによると、PowerShellのコア6.0は、このエスケープシーケンスでサポートが追加されています:
PS> "`u{0048}"
H
<のhref = "https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-6#unicode-character-ux" のrelを参照してください= "noreferrer"> 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
所属していません StackOverflow