目前是把字符串转化成二进制流了,怎么转化回来
比如:字符串"10"转化后为:0011000100110000
怎么转化回来,谢谢。。。不够再加....
11 个解决方案
#1
Convert.ToInt32(string value, int fromBase):
可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2、8、10及16:
可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2、8、10及16:
#2
不知道你说的“二进制流”是什么意思。如果是Stream可读可写的byte[],那么同时你要了解将字符串转换为byte[]时使用的编码,例如UTF8,然后转换:
Encoding.UTF8.GetString(data);
Encoding.UTF8.GetString(data);
#3
我这有个图片转成二进制流,再从二进制流转成图片的代码 ,你可以参考下。
#region 取出二进制流图片
DataTable dtimg = bll.getimgdt(p_num, database);
byte[] filedata = (byte[])dtimg.Rows[0][0];
System.IO.MemoryStream ms = new System.IO.MemoryStream(filedata);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
if (!System.IO.Directory.Exists("d:\\image"))
System.IO.Directory.CreateDirectory("d:\\image");
string filename = "d:\\image\\" + dtimg.Rows[0][1].ToString();
img.Save(filename);
#endregion
#region 将图片转为二进制流
FileStream fs = File.OpenRead(filename);
byte[] content = new byte[fs.Length];
fs.Read(content, 0, content.Length);
fs.Close();
#endregion
#region 取出二进制流图片
DataTable dtimg = bll.getimgdt(p_num, database);
byte[] filedata = (byte[])dtimg.Rows[0][0];
System.IO.MemoryStream ms = new System.IO.MemoryStream(filedata);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
if (!System.IO.Directory.Exists("d:\\image"))
System.IO.Directory.CreateDirectory("d:\\image");
string filename = "d:\\image\\" + dtimg.Rows[0][1].ToString();
img.Save(filename);
#endregion
#region 将图片转为二进制流
FileStream fs = File.OpenRead(filename);
byte[] content = new byte[fs.Length];
fs.Read(content, 0, content.Length);
fs.Close();
#endregion
#4
。
#5
字符串"10"转化后为:0011000100110000
==>
你是转化成的以二进制形式显示的字符串?
==>
你是转化成的以二进制形式显示的字符串?
#6
官方提供很多方法的,自己通过VS智能感知慢慢找
#7
byte[] bytes = System.Text.Encoding.GetEncoding("GB2312").GetBytes("中文字符串");
还原:
string str = System.Text.Encoding.GetEncoding("GB2312").GetString(bytes);
还原:
string str = System.Text.Encoding.GetEncoding("GB2312").GetString(bytes);
#8
帮顶……
#9
字符串的转换跟编码相关的.
"比如:字符串"10"转化后为:0011000100110000"
但是如果是 中文或者特殊字符呢?
在不同的编码下 比如UTF8/BIG5/GB2312/... ...等等,转换出的结果都是不一样的.
"比如:字符串"10"转化后为:0011000100110000"
但是如果是 中文或者特殊字符呢?
在不同的编码下 比如UTF8/BIG5/GB2312/... ...等等,转换出的结果都是不一样的.
#10
1
#11
没事玩的话··在纸上算算····
#1
Convert.ToInt32(string value, int fromBase):
可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2、8、10及16:
可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2、8、10及16:
#2
不知道你说的“二进制流”是什么意思。如果是Stream可读可写的byte[],那么同时你要了解将字符串转换为byte[]时使用的编码,例如UTF8,然后转换:
Encoding.UTF8.GetString(data);
Encoding.UTF8.GetString(data);
#3
我这有个图片转成二进制流,再从二进制流转成图片的代码 ,你可以参考下。
#region 取出二进制流图片
DataTable dtimg = bll.getimgdt(p_num, database);
byte[] filedata = (byte[])dtimg.Rows[0][0];
System.IO.MemoryStream ms = new System.IO.MemoryStream(filedata);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
if (!System.IO.Directory.Exists("d:\\image"))
System.IO.Directory.CreateDirectory("d:\\image");
string filename = "d:\\image\\" + dtimg.Rows[0][1].ToString();
img.Save(filename);
#endregion
#region 将图片转为二进制流
FileStream fs = File.OpenRead(filename);
byte[] content = new byte[fs.Length];
fs.Read(content, 0, content.Length);
fs.Close();
#endregion
#region 取出二进制流图片
DataTable dtimg = bll.getimgdt(p_num, database);
byte[] filedata = (byte[])dtimg.Rows[0][0];
System.IO.MemoryStream ms = new System.IO.MemoryStream(filedata);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
if (!System.IO.Directory.Exists("d:\\image"))
System.IO.Directory.CreateDirectory("d:\\image");
string filename = "d:\\image\\" + dtimg.Rows[0][1].ToString();
img.Save(filename);
#endregion
#region 将图片转为二进制流
FileStream fs = File.OpenRead(filename);
byte[] content = new byte[fs.Length];
fs.Read(content, 0, content.Length);
fs.Close();
#endregion
#4
。
#5
字符串"10"转化后为:0011000100110000
==>
你是转化成的以二进制形式显示的字符串?
==>
你是转化成的以二进制形式显示的字符串?
#6
官方提供很多方法的,自己通过VS智能感知慢慢找
#7
byte[] bytes = System.Text.Encoding.GetEncoding("GB2312").GetBytes("中文字符串");
还原:
string str = System.Text.Encoding.GetEncoding("GB2312").GetString(bytes);
还原:
string str = System.Text.Encoding.GetEncoding("GB2312").GetString(bytes);
#8
帮顶……
#9
字符串的转换跟编码相关的.
"比如:字符串"10"转化后为:0011000100110000"
但是如果是 中文或者特殊字符呢?
在不同的编码下 比如UTF8/BIG5/GB2312/... ...等等,转换出的结果都是不一样的.
"比如:字符串"10"转化后为:0011000100110000"
但是如果是 中文或者特殊字符呢?
在不同的编码下 比如UTF8/BIG5/GB2312/... ...等等,转换出的结果都是不一样的.
#10
1
#11
没事玩的话··在纸上算算····