如何用VBScript输出ASCII字符
在VBScript中,可以使用 Chr() 函数将ASCII码转换为对应的字符,并通过 WScript.Echo 或 MsgBox 输出。以下是几种常见方法:
方法1:使用 WScript.Echo 输出到控制台
' 保存为 ascii.vbs,双击运行或在cmd中用 cscript ascii.vbs
WScript.Echo "ASCII 65 = " & Chr(65) ' 输出: A
WScript.Echo "ASCII 97 = " & Chr(97) ' 输出: a
运行方式:
- 保存为
ascii.vbs文件,双击运行(默认用wscript,无控制台)。 - 在CMD中强制用控制台输出:
cscript //nologo ascii.vbs
方法2:使用 MsgBox 弹出窗口显示
MsgBox "ASCII 66 = " & Chr(66), vbInformation, "ASCII字符" ' 输出: B
方法3:输出连续ASCII字符(如A-Z)
For i = 65 To 90 ' A-Z的ASCII码
WScript.Echo i & " = " & Chr(i)
Next
输出示例:
65 = A
66 = B
...
90 = Z
方法4:写入文件(保存ASCII字符)
Set fs = CreateObject("Scripting.FileSystemObject")
Set file = fs.CreateTextFile("ascii_output.txt", True)
For i = 32 To 126 ' 可打印ASCII范围
file.WriteLine i & " = " & Chr(i)
Next
file.Close
WScript.Echo "ASCII字符已保存到 ascii_output.txt"
方法5:在批处理中调用VBScript
如果需要在批处理中动态生成ASCII字符,可以这样调用:
@echo off
:: 批处理调用VBScript输出ASCII 65(A)
echo WScript.Echo "ASCII 65 = " ^& Chr(65) > temp.vbs
cscript //nologo temp.vbs
del temp.vbs
输出:
ASCII 65 = A
注意事项
- 控制字符(0-31, 127)不可见,但可以用
Chr()生成(如Chr(7)是响铃符)。 - 扩展ASCII(128-255)依赖系统代码页,可能需先设置
Chcp 1252(西欧拉丁)。 - 特殊符号:如需显示
"或&,需用双引号转义:WScript.Echo "引号: " & Chr(34) & " &符号: " & Chr(38)
完整示例:生成ASCII表(32-126)
' ascii_table.vbs
Set objWSH = CreateObject("WScript.Shell")
Set objFS = CreateObject("Scripting.FileSystemObject")
' 输出到控制台
For i = 32 To 126
WScript.Echo i & " : " & Chr(i) & vbTab & "(" & Hex(i) & "h)"
Next
' 同时保存到文件
Set file = objFS.CreateTextFile("ASCII_Table.txt", True)
For i = 32 To 126
file.WriteLine i & " : " & Chr(i) & vbTab & "(" & Hex(i) & "h)"
Next
file.Close
WScript.Echo "ASCII表已保存到 ASCII_Table.txt"
运行结果:
32 : (20h)
33 : ! (21h)
...
126 : ~ (7Eh)
通过VBScript的 Chr() 函数,可以灵活处理ASCII字符的生成和输出。如果需要更复杂的编码(如Unicode),可使用 ChrW() 函数。

浙公网安备 33010602011771号