C#字符串与二进制相互转换
2013-04-17 16:44
148 查看
1 | C#中 二进制与字符串 |
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 | } |
相关文章推荐
- C#字符串与二进制相互转换
- C#中图片、二进制与字符串的相互转换方法
- C#二进制与字符串之间的相互转换
- C#二进制与字符串之间的相互转换
- 使用WCF传输DataTable:DataTable和Xml格式的字符串相互转换(C#)
- 图像哈希二进制字符串相互转换以及flatten()的用法
- C#中字符串与byte[]相互转换
- C++字节流与二进制字符串相互转换(一个简单的明文加解密程序)
- C# 字符串与字节数组相互转换
- 【.Net码农】C# List<string>与String字符串相互转换
- C# 枚举、字符串、值的相互转换
- python 二进制和字符串相互转换
- java 字符串和二进制相互转换
- c#json字符串和对象的相互转换
- C# 时间与字符串类型的相互格式化转换
- C++字节流与二进制字符串相互转换(一个简单的明文加解密程序)
- Object-c 普通字符串、二进制、十进制、十六进制之间的相互转换
- C#字符串和时间的相互转换
- C#数字进制间与字符串类型相互转换
- Java字符串与二进制的相互转换