我不得不将加密,解密功能从VB6复制到csharp。我遇到了扩展的ascii字符的问题。例如,有问题的字符的扩展ASCII值为155(看起来像'>'的较小版本)。
我从Google搜索中了解到,有很多扩展的ascii版本(页面?)但我只需要这里显示的标准Latin-1 http://www.ascii-code.com/
但我找不到一个明确的方法来做我需要的事情。我需要的是从角色获取值155(以及扩展集中的任何其他值)的方法。 VB6使用简单的Asc(String)语句执行此操作。我只需要一种在csharp中模拟这个语句的方法。
答案 0 :(得分:4)
您可以这样做:
string str = "›";
var encoding = System.Text.Encoding.Default;
var values = encoding.GetBytes(str); //Result is { 155 }
这里的技巧是获取Windows-1252
代码页的编码对象,然后使用GetBytes
将字符串转换为字节数组。