如何编码Unicode字符代码在PowerShell中字符串字面量?(How do I encode

2019-06-24 09:22发布

我怎么编码为Unicode字符U + 0048(2H),也就是说,在一个PowerShell字符串?

在C#我只想做到这一点: "\u0048" ,但不会出现在PowerShell中工作。

Answer 1:

替换“\ U”与“0X”,它转换为System.Char:

PS > [char]0x0048
H

您也可以使用“$()”语法嵌入Unicode字符转换为字符串:

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

其中,T是用于非注册商标字符的PowerShell的表示。



Answer 2:

根据该文件,PowerShell核心6.0增加了支持这种转义序列:

PS> "`u{0048}"
H

看到https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-6#unicode-character-ux



Answer 3:

也许这不是PowerShell的方式,但是这是我做的。 我觉得这是更清洁。

[regex]::Unescape("\u0048") # Prints H
[regex]::Unescape("\u0048ello") # Prints Hello


文章来源: How do I encode Unicode character codes in a PowerShell string literal?