C# 二进制字符串互转

时间:2023-01-04 10:12:41

1.字符转二进制

 1         public static string ChineseToBinary(string s)
 2         {
 3             byte[] data = Encoding.Unicode.GetBytes(s);
 4             StringBuilder result = new StringBuilder(data.Length * 8);
 5             foreach (byte b in data)
 6             {
 7                 result.Append(Convert.ToString(b, 2).PadLeft(8, '0'));
 8             }
 9             return result.ToString();
10         }

2.二进制转字符

 1         public static string BinaryToChinese(string input)
 2         {
 3             StringBuilder sb = new StringBuilder();
 4             int numOfBytes = input.Length / 8;
 5             byte[] bytes = new byte[numOfBytes];
 6             for (int i = 0; i < numOfBytes; ++i)
 7             {
 8                 bytes[i] = Convert.ToByte(input.Substring(8 * i, 8), 2);
 9             }
10             return System.Text.Encoding.Unicode.GetString(bytes);
11         }