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
解説記事
本スクリプトに実装している処理の解説記事をまとめています。
コメント