以下行不会向文件写入任何内容,ascii.txt。试图编写ascii等效的十六进制“88”。但是没有任何内容写入文件,也没有任何内容被赋予变量ascii。
Dim ascii = ChrW(Convert.ToInt32("88", 16))
My.Computer.FileSystem.WriteAllText("e:\ascii.txt", ascii, True)
在excel或openoffice中,您可以使用以下公式获得ascii等效项。代码有什么问题?
=CHAR(HEX2DEC("88"))
答案 0 :(得分:4)
ChrW
不知道ASCII,它只知道Unicode代码点。
U+0088是一个控制字符,它是不可打印的(即它通常不对应于可显示的字符)。因此,文件显示为空是不足为奇的。
此外,即使ChrW
使用ASCII,字符0x88 不 ASCII,它超出了它的范围。如果您在谈论以前的标准Windows字符集,代码页1252,您可以使用以下代码来检索字符代码的字符串表示形式:
Dim bytes = New Byte() { &H88 }
Dim text = System.Text.Encoding.GetEncoding(1252).GetString(bytes)