web-dev-qa-db-fra.com

Encoder une chaîne en UTF-8

Je veux encoder une chaîne en UTF8 dans PowerShell.

Voici ce que j'ai essayé:

$consumer_key ="xvz1evFS4wEEPTGEFPHBog"
$enc_consumer_key = System.Text.UTF8Encoding($consumer_key)

Mais je reçois une erreur:

System.Text.UTF8Encoding dans ne reconnaît pas comme le nom de la cmdlet

11
user3562182

Essayez plutôt ceci:

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

Si vous voulez simplement écrire la chaîne dans un fichier:

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

Encoder/décoder:

$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
# â

C'est la meilleure question que je recherche qui m'a conduit à la solution ci-dessus pour l'encodage/décodage de texte dans PowerShell. Dans mon cas, j'essayais de déboguer des caractères UTF8 mal formés. J'espère que cela aidera quelqu'un à l'avenir.

-Vérifiez cette nomenclature

1
cliffclof