【VBScript】文字列をBase64エンコード・デコードする


この記事はプロモーションを含みます。

VBScript

ホーム > VBScript 逆引きリファレンス

VBScriptで、文字列をBase64エンコード・デコードする方法を解説します。

はじめに

VBScriptで、以下のようにエンコード・デコードしたい文字列を入力することで、その結果を取得出来るスクリプトを公開します。
また、入力フォームにはインプットボックスを使用しているので、エンコード・デコードする文字列をコピペすることが可能です。

エンコード(デコード)したい文字列を入力し、OKを押すことで、

エンコード(デコード)結果が表示されます。

ソースコード

Base64エンコード

Base64エンコードするスクリプトです。

Option Explicit

Const adTypeBinary = 1
Const adTypeText = 2

Dim string, stream, element

string = InputBox("Base64エンコードする文字列を入力して下さい。", "Base64エンコード")

If string = "" Then
	WScript.Quit
End If

Set stream = CreateObject("ADODB.Stream")
stream.Type = adTypeText
stream.Charset = "UTF-8"
stream.Open()
stream.WriteText(string)
stream.Position = 0
stream.Type = adTypeBinary
stream.Position = 3

Set element = CreateObject("MSXML2.DOMDocument").CreateElement("base64")
element.dataType = "bin.base64"
element.nodeTypedValue = stream.Read()

stream.Close()

string = InputBox("エンコードが完了しました。", "Base64エンコード", element.text)

Set element = Nothing
Set stream = Nothing

Base64デコード

Base64デコードするスクリプトです。

Option Explicit

Const adTypeBinary = 1
Const adTypeText = 2

Dim string, stream, element, binary

string = InputBox("Base64デコードする文字列を入力して下さい。", "Base64デコード")

If string = "" Then
	WScript.Quit
End If

Set element = CreateObject("MSXML2.DOMDocument").CreateElement("base64")
element.DataType = "bin.base64"
element.Text = string
binary = element.NodeTypedValue

Set stream = CreateObject("ADODB.Stream")
stream.Open
stream.Charset = "UTF-8"
stream.Type = adTypeBinary
stream.Write binary
stream.Position = 0
stream.Type = adTypeText
string = stream.ReadText
stream.Close

string = InputBox("デコードが完了しました。", "Base64デコード", string)

Set element = Nothing
Set stream = Nothing

解説記事

本スクリプトに実装している処理の解説記事をまとめています。

コメント

タイトルとURLをコピーしました