标题:请问下列程序如何实现?
只看楼主
tmzx
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-11-10
 问题点数:0 回复次数:2 
请问下列程序如何实现?
byte[] buffer1 = Encoding.get_Default().GetBytes(serial);
string text1 = "";
int num1 = 0;
for (int num2 = 1; num2 < buffer1.Length; num2++)
{
num1 = int.Parse(buffer1[num2 - 1].ToString()) + int.Parse(buffer1[num2].ToString());
text1 = text1 + Convert.ToString(num1, 0x10).ToUpper();
}
在最后的两句中,字符中的前后两个字符相加,请问是ASCII相加吗,如是ASCII相加,那么得到的和对应的字符又怎样转换成十六制的字母呢?如9+f 请各位高手指点一二,我是C#的超级菜鸟.望能详细讲解,本人不胜感激!
搜索更多相关主题的帖子: 如何 
2006-11-10 10:44
skyland84
Rank: 2
等 级:新手上路
威 望:4
帖 子:544
专家分:0
注 册:2006-10-9
得分:0 
Convert.ToString(num1, 0x10)
这个是转成 十六进制的方法了!
num1 = int.Parse(buffer1[num2 - 1].ToString()) + int.Parse(buffer1[num2].ToString());
而这个要是我 我就不管他 获取的是什么东西!不过 似乎是数据!我知道是数据就可以了!
他们进行运算不难理解!
反正他们无论是ASCII 还是 UTF-8..等等!反正他们类型一样!相加相减都没有问题!
到最后把他转化成我们要的十六进制!
这才是我们要的!
Encoding似乎 没有get_Default()方法吧!而且这个函数的名字,似乎更象是C++的命名规则!

决定人生~
2006-11-10 15:56
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
直接 Encoding.Default 就是取系統默認的了

飘过~~
2006-11-10 20:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-101953-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.481984 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved