Vb.net 对应于十六进制的Ascii值

Vb.net 对应于十六进制的Ascii值,vb.net,hex,ascii,Vb.net,Hex,Ascii,下面的行不会向文件ascii.txt写入任何内容。正在尝试写入十六进制“88”的ascii等效值。但是,不会向文件写入任何内容,也不会向变量ascii分配任何内容 Dim ascii = ChrW(Convert.ToInt32("88", 16)) My.Computer.FileSystem.WriteAllText("e:\ascii.txt", ascii, True) 在excel或openoffice中,可以使用以下公式获得ascii等效值。代码有什么问题 =CHAR(HEX2DE

下面的行不会向文件ascii.txt写入任何内容。正在尝试写入十六进制“88”的ascii等效值。但是,不会向文件写入任何内容,也不会向变量ascii分配任何内容

Dim ascii = ChrW(Convert.ToInt32("88", 16))
My.Computer.FileSystem.WriteAllText("e:\ascii.txt", ascii, True)
在excel或openoffice中,可以使用以下公式获得ascii等效值。代码有什么问题

=CHAR(HEX2DEC("88"))

ChrW
不知道ASCII码,它只知道Unicode码点

是一个控制字符,它不可打印(即,它通常不对应于可显示字符)。因此,文件显示为空也就不足为奇了

此外,即使
ChrW
使用ASCII,字符0x88也不是ASCII,它超出了其范围。如果您讨论的是以前的标准Windows字符集codepage 1252,则可以使用以下代码检索字符代码的字符串表示形式:

Dim bytes = New Byte() { &H88 }
Dim text = System.Text.Encoding.GetEncoding(1252).GetString(bytes)

ChrW
不知道ASCII码,它只知道Unicode码点

是一个控制字符,它不可打印(即,它通常不对应于可显示字符)。因此,文件显示为空也就不足为奇了

此外,即使
ChrW
使用ASCII,字符0x88也不是ASCII,它超出了其范围。如果您讨论的是以前的标准Windows字符集codepage 1252,则可以使用以下代码检索字符代码的字符串表示形式:

Dim bytes = New Byte() { &H88 }
Dim text = System.Text.Encoding.GetEncoding(1252).GetString(bytes)

88十六进制=136十进制。这不是ASCII.88十六进制=136十进制。那不是ASCII码。