|
UTF-8NはBOMなしのUTF-8コードになります。
UTF-8コードのテキストはADODB.Streamオブジェクトを使えば出来ますので、
そこからバイナリモードでファイルを開いてでBOMを削除して再度保存すれば
UTF-8Nコードのテキストが出来ます。
例)
Const adTypeText = 2
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2 ' adSaveCreateNotExist = 1
Dim bytData() As Byte
With CreateObject("ADODB.Stream")
.Open
' UTF-8に変換
.Type = adTypeText
.Charset = "UTF-8"
.WriteText "ABC"
.WriteText "あいうえお"
' 先頭のBOM取り
.Position = 0
.Type = adTypeBinary
.Position = 3
bytData = .Read
.Close
' UTF-8Nコードのデータを保存
.Open
.Type = adTypeBinary
.Write bytData
.SaveToFile "任意のファイル名", adSaveCreateOverWrite
.Close
End With
|
|