将字符串编码为UTF-8

22
我想在PowerShell中将一个字符串编码为UTF8。
这是我尝试的代码:
$consumer_key ="xvz1evFS4wEEPTGEFPHBog"
$enc_consumer_key = System.Text.UTF8Encoding($consumer_key)

但是我遇到了一个错误:

System.Text.UTF8Encoding未被识别为 cmdlet 的名称

3个回答

32

试试这个:

$enc = [System.Text.Encoding]::UTF8
$consumerkey ="xvz1evFS4wEEPTGEFPHBog"
$encconsumerkey= $enc.GetBytes($consumerkey)

14

编码/解码:

$enc = [System.Text.Encoding]::UTF8.GetBytes("â")
# 195 162
[System.Text.Encoding]::UTF8.GetString($enc)
# â
[System.Text.Encoding]::ASCII.GetString($enc)
# ??
[System.Text.Encoding]::Default.GetString($enc) # Windows-1252
# â

这是我搜索到的最好的问题,它引导我找到了在PowerShell中对文本进行编码/解码字符的解决方案。在我的情况下,我正在尝试调试格式不正确的UTF8字符。希望它能帮助未来的某个人。

-检查BOM


我在哪里可以找到官方文档?在.NET框架的文档中吗? - Jing He

8

如果您只想将字符串写入文件:

$consumer_key ="xvz1evFS4wEEPTGEFPHBog"
$consumer_key |  Out-File c:\path\utf8file.txt -Encoding UTF8

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接