昨日と逆の変換。
UTF-8バイト列にBOMがなくても変換される模様。
Sub Sample()
Dim buf(2) As Byte
Dim s As String
Dim i As Long
buf(0) = &HE3 ' BOMなし
buf(1) = &H81
buf(2) = &H82
With CreateObject("ADODB.Stream")
.Mode = 3 'adModeReadWrite
.Open
.Type = 1 ' adTypeBinary
.Write buf
.Position = 0 ' .Typeを変更するため0にする必要がある
.Type = 2 'adTypeText
.Charset = "UTF-8"
s = .ReadText
.Close
End With
MsgBox s ' BOMがなくても変換された
End Sub