在csharp中将扩展字符转换为int

Convert Extended character to int in csharp

我不得不将一个加密、解密函数从VB6 复制到csharp。我 运行 遇到扩展 ascii 字符的问题。例如,所讨论的字符的扩展 ASCII 值为 155(看起来像“>”的较小版本)。

我从 Google 搜索中得知有许多扩展的 ascii 版本(页面?),但我只需要此处显示的标准 Latin-1 http://www.ascii-code.com/

但我找不到明确的方法来做我需要的事情。我需要的是一种从角色中获取值 155(以及扩展集中的任何其他值)的方法。 VB6 使用简单的 Asc(String) 语句来完成此操作。我只需要一种在 csharp 中模拟此语句的方法。

你可以这样做:

string str = "›";
var encoding = System.Text.Encoding.Default;
var values = encoding.GetBytes(str); //Result is { 155 }

这里的技巧是获取 Windows-1252 代码页的编码对象,然后使用 GetBytes 将字符串转换为字节数组。