C# 不同语言之间字符到ASCII的转换不一致?

C# 不同语言之间字符到ASCII的转换不一致?,c#,vb6,char,ascii,C#,Vb6,Char,Ascii,为什么在Visual Basic 6中,Chr(130)是逗号(,),而在C#(char)130中则不是?(我不确定它是什么,但肯定不是逗号!)严格来说,ASCII是一种7位编码,只定义带有整数代码0..127的字符。制造商经常创建代码范围为128..255的字符的变体实现 例如,请参见。严格来说,ASCII是一种7位编码,仅定义整数代码为0..127的字符。制造商经常创建代码范围为128..255的字符的变体实现 例如,请参见。Vb函数Chr()肯定与将整数值130强制转换为char的结果不同

为什么在Visual Basic 6中,
Chr(130)
是逗号(,),而在C#
(char)130中则不是?(我不确定它是什么,但肯定不是逗号!)

严格来说,ASCII是一种7位编码,只定义带有整数代码0..127的字符。制造商经常创建代码范围为128..255的字符的变体实现


例如,请参见。

严格来说,ASCII是一种7位编码,仅定义整数代码为0..127的字符。制造商经常创建代码范围为128..255的字符的变体实现

例如,请参见。

Vb函数Chr()肯定与将整数值130强制转换为char的结果不同。要在c#中获得相同的结果,可以在c#中设置对Microsoft.VisualBasic的引用,并调用Microsoft.VisualBasic.Chr(130)

您还可以研究下面链接中公开的任何选项,并查看返回所需值的

Vb函数Chr()肯定与将整数值130强制转换为char的结果不同。要在c#中获得相同的结果,可以在c#中设置对Microsoft.VisualBasic的引用,并调用Microsoft.VisualBasic.Chr(130)

您还可以研究下面链接中公开的任何选项,并查看返回所需值的


没错。ASCII仅定义字节前128个值的字符。其他128个值由每个国家根据自己的意愿定义。如果要表示ASCII 128值以外的字符,请使用UTF8.0。ASCII仅定义字节前128个值的字符。其他128个值由每个国家根据自己的意愿定义。如果要表示ASCII 128值以外的字符,请使用UTF8。逗号实际上是
Chr(44)
我建议学习字符编码。这可能是一个很好的起点。VB6
Chr
使用“Windows ANSI”编码-确切的编码取决于您的计算机。Jimbo,我知道你在津巴布韦&我不知道津巴布韦默认的Windows代码页是什么。C#
(char)
使用2字节Windows Unicode字符,Unicode UTF-16。逗号实际上是
Chr(44)
我建议学习字符编码。这可能是一个很好的起点。VB6
Chr
使用“Windows ANSI”编码-确切的编码取决于您的计算机。Jimbo,我知道你在津巴布韦&我不知道津巴布韦默认的Windows代码页是什么。C#
(char)
使用2字节Windows Unicode字符,Unicode UTF-16.Legend-感谢“理解”我的问题:)更新-您可以在Visual Studio 2008或更高版本的Microsoft.Visualbasic.Strings.Chr()中找到此方法Legend-感谢“理解”我的问题:)更新-您可以在Visual Studio 2008或更高版本的Microsoft.Visualbasic.Strings.Chr()中找到此方法