どのように私はリテラルPowerShellの文字列内のUnicode文字コードをエンコードするのですか?

StackOverflow https://stackoverflow.com/questions/1056692

質問

どのように私は、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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top