[解決済み] Base64の文字列をデコードするには?
2022-03-06 08:10:59
質問
PowershellでBase64テキストを含むテキストファイルから通常の文字列を取得し、それを
$x
. 私はそれをこのようにデコードしようとしています。
$z = [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($x));
これは、以下の場合に機能します。
$x
がPowershellで作成されたBase64文字列であった場合(しかしそうではない)。また、これは
$x
ファイルから取得したBase64文字列。
$z
は、単に次のように終わります。
䐲券
.
何が足りないのでしょうか?例えば
$x
は
YmxhaGJsYWg=
のBase64である。
blahblah
.
一言で言えば
YmxhaGJsYWg=
がテキストファイルにあり、それをこのPowershellのコードで文字列にして、それをデコードしようとしたところ
䐲券
などがあります。
解決方法は?
エンコードはテキストをbase64に、デコードはbase64をテキストに戻すのではないでしょうか?ごっちゃになってるような気がします。デコード時に このオンラインデコーダは と出る。
BASE64: blahblah
UTF8: nVnV
は、その逆ではありません。PSでは完全に再現できませんが。下のサンプルを見てください。
PS > [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("blahblah"))
nV�nV�
PS > [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("nVnV"))
blZuVg==
EDIT テキストのエンコーダーを間違えているのでは?エンコードされたBase64文字列は、UTF8(またはASCII)文字列からエンコードされたものです。
PS > [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("YmxhaGJsYWg="))
blahblah
PS > [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String("YmxhaGJsYWg="))
汢桡汢桡
PS > [System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String("YmxhaGJsYWg="))
blahblah
関連
-
[解決済み] powershell で再利用するために資格情報を保存すると、ConvertTo-SecureString : Key not valid for use in specified state というエラーが発生する。
-
[解決済み] スクリプト内の特定の場所にジャンプする
-
[解決済み] base64文字列をエンコード、デコードするにはどうしたらいいですか?
-
[解決済み] HTMLでBase64画像を表示する方法
-
[解決済み] バイナリデータをJSON文字列で。Base64より優れたもの
-
[解決済み] JavaScriptで画像をBase64文字列に変換するにはどうすればよいですか?
-
[解決済み] JavaでBase64データをデコードする
-
[解決済み】Node.jsでBase64エンコードを行うにはどうすればよいですか?
-
[解決済み】JavaScriptで文字列をBase64にエンコードするにはどうすればいいですか?
-
[解決済み】JavaScriptでBase64文字列からBLOBを作成する場合
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [System.Web.Security.Membership]::GeneratePassword() - Type Not found
-
[解決済み] PowerShellで"%"(パーセント)は何をするのですか?
-
[解決済み] PowerShellと-contains演算子
-
[解決済み] PowerShellで遠隔地からファイルをコピーする
-
[解決済み] Powershell send-mailmessage - 複数の受信者にメールを送信する
-
[解決済み] PowerShellで改行するには?
-
[解決済み] PowerShellでファイルをダウンロードする
-
[解決済み] Powershell Get-ChildItem -Filter は、同じ値でWhere句とは異なる動作をします。
-
[解決済み] PowerShellでコマンド出力に改行を追加するにはどうすればよいですか?
-
[解決済み] powershellでToStringを使用して日付をフォーマットする