首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在PowerShell中用转换到-Json来逃避汉语?

如何在PowerShell中用转换到-Json来逃避汉语?
EN

Stack Overflow用户
提问于 2022-03-29 04:45:34
回答 1查看 40关注 0票数 0

我试图在PowerShell中使用转换到-Json。默认情况下,“转换到-Json”将转义特殊字符。然而,它也逃不过中国人的责难。

例如:

代码语言:javascript
运行
复制
"<>中文ABC" | ConvertTo-Json

输出是

代码语言:javascript
运行
复制
"\u003c\u003e中文ABC"

但是,我真正想要的是"\u003c\u003e\u4e2d\u6587ABC“。有谁能分享经验吗?

EN

回答 1

Stack Overflow用户

发布于 2022-03-29 05:54:48

找到了一个方法:

代码语言:javascript
运行
复制
function ConvertTo-Rtf
{
    [CmdletBinding()]
    param (
        [Parameter(ValueFromPipeline = $true)]
        [string[]] $String
    )

    process
    {
        if ($null -eq $String) { $String = @() }
        
        $stringBuilder = New-Object System.Text.StringBuilder
        foreach ($s in $String)
        {
            $stringBuilder.Length = 0
            foreach ($character in $s.GetEnumerator())
            {
                if ([int]$character -lt 0x7F)
                {
                    $null = $stringBuilder.Append($character)
                }
                else
                {
                    $null = $stringBuilder.AppendFormat('\u{0:x}', [int]$character)
                }
            }

            $stringBuilder.ToString()
        }
    }
}

然后是@{name="ABC<中文>" } | ConvertTo-Json -Compress| ConvertTo-Rtf

输出:

代码语言:javascript
运行
复制
{"name":"ABC\u003c\u4e2d\u6587\u003e"}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71656571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档