VBScript:以UTF-8格式打印所有字符

VBScript:以UTF-8格式打印所有字符,utf-8,vbscript,Utf 8,Vbscript,我正在编写一个简单的脚本来构建一个HTML页面,以检查UTF-8中的所有字符是否正确呈现: Dim oStream : Set oStream = CreateObject("ADODB.Stream") oStream.Open oStream.CharSet = "utf-8" ' Code writing out the top HTML snipped for brevity Dim iChar For iChar = 32 to 255 oStream.WriteText

我正在编写一个简单的脚本来构建一个HTML页面,以检查UTF-8中的所有字符是否正确呈现:

Dim oStream : Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.CharSet = "utf-8"

' Code writing out the top HTML snipped for brevity

Dim iChar
For iChar = 32 to 255
    oStream.WriteText iChar & " = " & Chr(iChar) & "<br/>" & VbCrLf
Next

' Code writing out the bottom HTML snipped for brevity

oStream.SaveToFile "page.html", 2
Set oStream = Nothing
Dim oStream:Set oStream=CreateObject(“ADODB.Stream”)
奥斯特雷姆,开门
oStream.CharSet=“utf-8”
“为简洁起见,代码编写了顶级HTML片段
暗淡的鱼鳞
对于iChar=32到255
oStream.WriteText iChar&“=”和Chr(iChar)&“
”和VbCrLf 下一个 “为了简洁起见,代码将底部的HTML剪掉 oStream.SaveToFile“page.html”,2 设置oStream=Nothing
这非常有效,直到我尝试打印超过255个字符,在这种情况下我得到错误:无效的过程调用或参数:“Chr”(800a005)

有人能解释一下我如何打印UTF-8字符集中的所有字符吗

该测试旨在查看原始字符的呈现方式,因此有一个带有
Ā不是正确的,因为它需要打印实际的拉丁文大写字母a和长音符(Ā)。

您需要
ChrW()
变体

为使用Unicode字符的32位平台提供。 它的参数是Unicode(宽)字符代码,因此避免了 从ANSI到Unicode的转换

您需要
ChrW()
变量

为使用Unicode字符的32位平台提供。 它的参数是Unicode(宽)字符代码,因此避免了 从ANSI到Unicode的转换


站点注释从字符转换为unicode时,可以使用AscW(字符)(而不是返回ANSI的Asc(字符))站点注释从字符转换为unicode时,可以使用AscW(字符)(而不是返回ANSI的Asc(字符))站点注释