编码问题:vbscript"Chr()"到.Net C#

Joh*_*ohn 0 .net c# vbscript encoding

我似乎无法找到这个问题的答案.

看起来我应该能够从C#中的一个数字变成一个字符,只需按照(char)MyInt的行去复制vb的Chr()函数的行为; 然而,这种情况并非如此:

在带有asp页面的VB脚本中,如果我的代码说明了这一点:

Response.Write(Chr(139))
Run Code Online (Sandbox Code Playgroud)

它输出这个:

‹ (character code 8249)
Run Code Online (Sandbox Code Playgroud)

反对这个:

(字符代码139)

我在编码时遗漏了某些东西,但我找不到它.Chr()使用什么编码?

Jon*_*eet 6

Chr()我相信使用系统默认编码 - 所以它大致相当于:

byte[] bytes = new byte[] { 139 };
char c = Encoding.Default.GetString(bytes)[0];
Run Code Online (Sandbox Code Playgroud)

我的盒子(默认为Windows CP1252)确实提供了Unicode 8249.