您的位置:首页 > 编程语言 > C#

C#字符串与二进制相互转换

2013-04-17 16:44 148 查看
1
C#中 二进制与字符串
view
source

print?

01
///
<summary>
02
///
将 字符串 转成 二进制 “10011100000000011100011111111101”
03
///
</summary>
04
///
<param name="s"></param>
05
///
<returns></returns>
06
public
static
string
Encode(
string
s)
07
{
08
byte
[]
data = Encoding.Unicode.GetBytes(s);
09
StringBuilder
result =
new
StringBuilder(data.Length
* 8);
10
11
foreach
(
byte
b
in
data)
12
{
13
result.Append(Convert.ToString(b,
2).PadLeft(8,
'0'
));
14
}
15
return
result.ToString();
16
}
17
///
<summary>
18
///
将二进制 “10011100000000011100011111111101” 转成 字符串
19
///
</summary>
20
///
<param name="s"></param>
21
///
<returns></returns>
22
public
static
string
Decode(
string
s)
23
{
24
System.Text.RegularExpressions.CaptureCollection
cs =
25
System.Text.RegularExpressions.Regex.Match(s,
@"([01]{8})+"
).Groups[1].Captures;
26
byte
[]
data =
new
byte
[cs.Count];
27
for
(
int
i
= 0; i < cs.Count; i++)
28
{
29
data[i]
= Convert.ToByte(cs[i].Value, 2);
30
}
31
return
Encoding.Unicode.GetString(data,
0, data.Length);
32
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: