繁体   English   中英

Alt + Numpad键生成哪种编码?

[英]Which encoding does Alt+Numpad keys generate?

简而言之:

对于此代码:

Encoding.ASCII.GetBytes("‚")

我希望输出为130,但这给了我63。

我正在使用Alt + 0130键入字符串。

在我的设置上:

Encoding.ASCII.GetBytes("‚"); // 63
Encoding.Default.GetBytes("‚"); // 130

当然,“默认”很可能与环境有关......

当您尝试使用ASCII编码对字符串进行编码时,它将转换为问号,因为ASCII字符集中没有此类字符。 问号的字符代码是63。

您需要使用支持该字符的编码来获取它的实际字符代码。

一种选择是使用Encoding.Default属性来获取系统代码页的编码,正如David建议的那样。 但是,由于系统代码页可能不同,因此无法保证在所有计算机上提供相同的结果。

unicode字符代码是8218,只需将字符转换为int即可获得:

int characterCode = (int)'‚';

由于这不取决于任何系统设置,您应该考虑是否可以使用它而不是编码的字节值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM