58

たとえば、PowerShell文字列でUnicode文字U + 0048(H)をエンコードするにはどうすればよいですか?

C#では、これを実行"\u0048"しますが、PowerShellでは機能しないようです。

4

7 に答える 7

80

'\u'を'0x'に置き換え、System.Charにキャストします。

PS > [char]0x0048
H

「$()」構文を使用して、Unicode文字を文字列に埋め込むこともできます。

PS > "Acme$([char]0x2122) Company"
AcmeT Company

ここで、Tは、PowerShellによる未登録商標の文字の表現です。

于 2009-06-29T07:26:42.077 に答える
15

これは PowerShell のやり方ではないかもしれませんが、これが私がしていることです。よりきれいになったと思います。

[regex]::Unescape("\u0048") # Prints H
[regex]::Unescape("\u0048ello") # Prints Hello
于 2015-09-08T17:18:04.197 に答える
1

BMP 以外の文字でも機能させるには、 Char.ConvertFromUtf32()を使用する必要があります。

'this is my favourite park ' + [char]::ConvertFromUtf32(0x1F3DE) + 
'. It is pretty sweet ' + [char]::ConvertFromUtf32(0x1F60A)
于 2020-03-24T05:38:45.797 に答える