例如:
Set objWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
...
'writes the file as unicode (can't use Ascii)
Set Fileout = FSO.CreateTextFile("c:\temp\myfile.xml", true, true)
....
Fileout.WriteLine(objWinHttp.responsetext)
在记事本/记事本++中查看文件时,我看到希伯来语为Gibrish / Gibberish。 例如 : äìëåú - äøáàáøäíéåñó - îåøùú
我需要一个vbscript函数来正确返回希伯来语,该函数应该类似于以下http://www.pixiesoft.com/flip/选择第二个单选按钮并按下转换按钮,你会看到正确的希伯来语。
< / LI> 醇>答案 0 :(得分:4)
您的脚本正确获取字节流并按原样保存。没问题。
您的问题是本地文本编辑器不知道它应该将文件读取为cp1255,因此它会在您的cp1252机器上尝试默认值。您无法在本地将文件保存为cp1252,因此记事本将正确读取它,因为cp1252不包含任何希伯来字符。
最终要读取文件或字节流的是什么,需要正确地获取希伯来语?如果它不支持cp1255,则需要找到该工具支持的编码,并将cp1255字符串转换为该编码。建议您尝试使用UTF-8或UTF-16LE(Windows编码错误地称为'Unicode'。)
在VBScript / JScript中编码之间转换文本可以作为ADODB流的副作用来完成。请参阅this answer中的示例。
答案 1 :(得分:1)
感谢Charming Bobince(发布了答案),我现在能够通过实现以下内容正确地看到HEBREW(将Windows-1255编码保存到txt文件(notpad)):
Function ConvertFromUTF8(sIn)
Dim oIn: Set oIn = CreateObject("ADODB.Stream")
oIn.Open
oIn.CharSet = "X-ANSI"
oIn.WriteText sIn
oIn.Position = 0
oIn.CharSet = "WINDOWS-1255"
ConvertFromUTF8 = oIn.ReadText
oIn.Close
End Function