怎么在二进位字符串和十六进位字符串间转换??

FENGUFO 2004-08-06 12:06:09
怎么在二进位字符串和十六进位字符串间转换??
急,有答可行,立结!
...全文
341 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ArLi2003 2004-08-09
  • 打赏
  • 举报
回复
private void btn_Click(object sender, System.EventArgs e) {
int i = 100;

string hex = i.ToString("X"); //转成16进制
i = Convert.ToInt32(hex, 16); //转回10进制

string bin = Convert.ToString(i, 2); //转成2进制
i = Convert.ToInt32(bin, 2); //转回10进制
}
zhpsam109 2004-08-09
  • 打赏
  • 举报
回复
学习!
bitsbird 2004-08-09
  • 打赏
  • 举报
回复
ToString("x")
FENGUFO 2004-08-09
  • 打赏
  • 举报
回复
popcorn(米花) :
你那代码转换出来的字符串怎么不是966855395c5419dd8c01d06be908d06f9ac20399,
不能还原呀?
FENGUFO 2004-08-06
  • 打赏
  • 举报
回复
不是这样的,如表中设为binary 的一个char(20)的串"謫彤B?>焌??搖Y腔"(注:此处表中就是乱码)
转化为16进位的串为"966855395c5419dd8c01d06be908d06f9ac20399"的形式!
php中有函数bin2hex()可转换,c#好像没有,需要自己写个??
outspaceman 2004-08-06
  • 打赏
  • 举报
回复
gz
hertcloud 2004-08-06
  • 打赏
  • 举报
回复
对于一个数来说,它就是一个数,16进制或2进制只是它的表现形式。
int.ToString("X")
产生这个数的16进制表现字符串。
二进制的没有现成的,可以从16进制的串来产生一个。

public string HexToBin(string hexStr)
{
string binStr = "";
for(int i=0; i < hexStr.Length; i++)
{
string s = hexStr.SubString(i, 1);
switch(s){
case "0": binStr += "0000"; break;
case "1": binStr += "0001"; break;
case "2": binStr += "0010"; break;
...
case "E": binStr += "1110"; break;
case "F": binStr += "1111"; break;
}

return binStr;
}
参考里的的VB源码吧
http://vbboshi.myrice.com/vbcode/code_18.htm
csq0516 2004-08-06
  • 打赏
  • 举报
回复
/ .
' / .- .
. .- .-
./ .--...
.-------- 0 .--
/ .......
' ..
'........ ----
. --..
. .---.. -
分 o . ' -.
分 / '
/ ' ' '
\-分--/....... . ' ' ' '
\ __/ - - -' ' ' '
' ' ' '
o ' ' ' '
' ' '
-..'.----------.
I ----------
/////////.

popcorn 2004-08-06
  • 打赏
  • 举报
回复
binary在C#中应该是byte数组的表现形式
比如说
string s="謫彤B?>焌??搖Y腔"
byte [] buf=System.Text.Encoding.Default.GetBytes(s);
那么16进制字符串就是:
string sHex="";
for(int i=0;i<buf.Length;i++)
sHex+=i.ToString("X2");

十进制和二进制的转换可以看看:
http://www.cnblogs.com/popcorn/archive/2004/06/09/14582.aspx
http://www.cnblogs.com/popcorn/archive/2004/06/09/14581.aspx
很容易改成C#的.
jkflyfox 2004-08-06
  • 打赏
  • 举报
回复
由数据库中binary接得到2进制的字符串的函数要自己写吧,你都得到16进制字符串了,再转换下就好了。

110,549

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧