首页 新闻 会员 周边 捐助

c#数字传化二进制为什么和js转化二进制结果不一致?求大侠解释下

0
悬赏园豆:5 [已解决问题] 解决于 2013-05-06 13:12

c#代码

            txtResult.Text = "";
            string value = txtValues.Text.Trim();
            if (string.IsNullOrEmpty(value))
            {
                return;
            }
            StringBuilder sb = new StringBuilder();
            byte[] by = Encoding.Unicode.GetBytes(value);
            foreach (var item in by)
            {
                sb.Append(Convert.ToString(item,int.Parse(drValue.SelectedValue.ToString())));
            }
            txtResult.Text = sb.ToString();

javascript 代码:

var sp=38;
sp.toString(2);

结果:

c#的

js的:

难道一个是int 类型和一个是string类型的原因还是? 

s_p的主页 s_p | 初学一级 | 园豆:140
提问于:2013-05-05 19:57
< >
分享
最佳答案
0

c# code 错了。 你应该先把 38 从 string 变为 integer。 然后用 Convert.ToString(number, baseValue) 取得 2进制 的结果。

你试试直接调用 Convert.ToString(38, 2) 看看结果

收获园豆:3
gunsmoke | 老鸟四级 |园豆:3592 | 2013-05-06 06:59

恩 是c#错了 我按你的直接调用Convert.ToString(38, 2) 结果一样 谢谢了 朋友!

s_p | 园豆:140 (初学一级) | 2013-05-06 13:12
其他回答(2)
0

C#把字符串转化为二进制,和JS把数字转化为二进制,是两回事。

收获园豆:1
MeteorRain | 园豆:232 (菜鸟二级) | 2013-05-05 20:13
0

一个是string,一个是int的原因,把C#里的38转换成int就行了

收获园豆:1
望馨 | 园豆:234 (菜鸟二级) | 2013-05-06 09:58

en  谢谢了 朋友

支持(0) 反对(0) s_p | 园豆:140 (初学一级) | 2013-05-06 13:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册