トップ 差分 一覧 カテゴリ ソース 検索 ヘルプ RSS ログイン

ScrapCode/VBS/BASE64

INDEX

BASE64 エンコード・デコード

BASE64エンコード/デコードするVBScript。ファイルを扱うのに ADODB.Stream を、エンコード・デコード処理に Microsoft.XMLDOM を使用します。

EncodeBase64

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Option Explicit
'' StreamTypeEnum Values
Const adTypeBinary = 1 ' バイナリ データ
Const adTypeText   = 2 ' テキスト データ
'' SaveOptionsEnum Values
Const adSaveCreateNotExist  = 1 ' ファイルがないとき作成する
Const adSaveCreateOverWrite = 2 ' ファイルがあるとき上書きする

Dim srcFile, distFile
srcFile  = "input.bin"  ' 入力ファイル
distFile = "output.txt" ' 出力ファイル

Dim stream, xmldom, node
Set xmldom = CreateObject("Microsoft.XMLDOM")
Set node = xmldom.CreateElement("work")
node.DataType = "bin.base64"

Set stream = CreateObject("ADODB.Stream")
stream.Type = adTypeBinary
stream.Open
stream.LoadFromFile srcFile
node.NodeTypedValue = stream.Read
stream.Close
Set stream = Nothing

Set stream = CreateObject("ADODB.Stream")
stream.Type = adTypeText
stream.charset = "iso-8859-1"
stream.Open
stream.writeText Replace(node.Text, vbLf, vbCrLf)
stream.saveToFile distFile, adSaveCreateOverWrite
stream.Close
Set stream = Nothing
'Set fso = CreateObject("Scripting.FileSystemObject")
'Set file = fso.CreateTextFile distFile,False
'file.Write node.Text

Set node = Nothing
Set xmldom = Nothing

DecodeBase64

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Option Explicit
'' StreamTypeEnum Values
Const adTypeBinary = 1 ' バイナリ データ
Const adTypeText   = 2 ' テキスト データ
'' SaveOptionsEnum Values
Const adSaveCreateNotExist  = 1 ' ファイルがないとき作成する
Const adSaveCreateOverWrite = 2 ' ファイルがあるとき上書きする

Dim srcFile, distFile
srcFile  = "input.txt"  ' 入力ファイル
distFile = "output.bin" ' 出力ファイル

Dim stream, data, xmldom, node
Set xmldom = CreateObject("Microsoft.XMLDOM")
Set node = xmldom.CreateElement("work")
node.DataType = "bin.base64"

'Set fso = CreateObject("Scripting.FileSystemObject")
'Set file = fso.OpenTextFile srcFile
'node.Text = file.ReadAll
Set stream = CreateObject("ADODB.Stream")
stream.Type = adTypeText
stream.charset = "iso-8859-1"
stream.Open
stream.LoadFromFile srcFile
node.Text = stream.ReadText
stream.Close
Set stream = Nothing

Set stream = CreateObject("ADODB.Stream")
stream.Type = adTypeBinary
stream.Open
stream.write node.NodeTypedValue
stream.saveToFile distFile, adSaveCreateOverWrite
stream.Close
Set stream = Nothing

Set node = Nothing
Set xmldom = Nothing

最終更新時間:2008年11月17日 20時24分00秒 指摘や意見などあればSandBoxのBBSへ。