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

时间:2016-02-25 16:21:43

标签: c# vb6 extended-ascii

我不得不将加密,解密功能从VB6复制到csharp。我遇到了扩展的ascii字符的问题。例如,有问题的字符的扩展ASCII值为155(看起来像'>'的较小版本)。

我从Google搜索中了解到,有很多扩展的ascii版本(页面?)但我只需要这里显示的标准Latin-1 http://www.ascii-code.com/

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

1 个答案:

答案 0 :(得分:4)

您可以这样做:

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

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