
C#里面怎样把普通字符串转换成二进制并且返回字符串
1个回答
2013-08-26
展开全部
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace QACollection
{
class Program
{
static void Main(string[] args)
{
string text = "你好";
string outerBinary = string.Empty;
// 通过字符串的每个Char值得到每个字的十进制
foreach (char item in text)
{
int i = item;
outerBinary += DtoB(i);
}
Console.WriteLine(outerBinary);
}
/// <summary>
/// 输入一个十进制 返回一个二进制
/// </summary>
/// <param name="d"></param>
/// <returns>装换成的二进制数</returns>
public static string DtoB(int d)
{
string b = "";
//判断该数如果小于2,则直接输出
if (d < 2)
{
b = d.ToString();
}
else
{
int c;
int s = 0;
int n = d;
while (n >= 2)
{
s++;
n = n / 2;
}
int[] m = new int[s];
int i = 0;
do
{
c = d / 2;
m[i++] = d % 2;
d = c;
} while (c >= 2);
b = d.ToString();
for (int j = m.Length - 1; j >= 0; j--)
{
b += m[j].ToString();
}
}
return b;
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace QACollection
{
class Program
{
static void Main(string[] args)
{
string text = "你好";
string outerBinary = string.Empty;
// 通过字符串的每个Char值得到每个字的十进制
foreach (char item in text)
{
int i = item;
outerBinary += DtoB(i);
}
Console.WriteLine(outerBinary);
}
/// <summary>
/// 输入一个十进制 返回一个二进制
/// </summary>
/// <param name="d"></param>
/// <returns>装换成的二进制数</returns>
public static string DtoB(int d)
{
string b = "";
//判断该数如果小于2,则直接输出
if (d < 2)
{
b = d.ToString();
}
else
{
int c;
int s = 0;
int n = d;
while (n >= 2)
{
s++;
n = n / 2;
}
int[] m = new int[s];
int i = 0;
do
{
c = d / 2;
m[i++] = d % 2;
d = c;
} while (c >= 2);
b = d.ToString();
for (int j = m.Length - 1; j >= 0; j--)
{
b += m[j].ToString();
}
}
return b;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询