Хотя iRon's ответ самый простой, я думаю, вы можете использовать вспомогательную функцию, чтобы просто заменить литералы Unicode в строке.
Что-то вроде:
function Convert-UnicodeLiterals {
[CmdletBinding()]
param (
[Parameter(ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Mandatory = $true, Position = 0)]
[string]$Text
)
$regex = [regex] '(?i)\\u[0-9a-f]{4}'
$match = $regex.Match($Text)
while ($match.Success) {
$codePoint = [int]($match.Value -replace '^\\u', '0x')
$Text = $Text.Replace($match.Value, [string][char]::ConvertFromUtf32($codePoint))
$match = $match.NextMatch()
}
$Text
}
$str = "\n\n\u041c\n\u0435" | Convert-UnicodeLiterals
Результат:
\n\nМ\nе