c#如何把输入的字符(汉字和英文和数字)输出为对应的二进制

就是例如输入: "21世纪的云计算(cloud computing)" 能输出得到对应的二进制...0010010...

数字我懂得用 Convert.ToString( , ); 但对于汉字和字母如何转换呢?

byte[] b = System.Text.Encoding.Unicode.GetBytes("汉字Abc123");
string bytestr = string.Empty;
for (int i = 1; i <= b.Length; i++)
{
bytestr += Convert.ToString(b[i - 1], 2);
}
MessageBox.Show(bytestr);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-30
byte[] data = Encoding.Default.GetBytes(Data);
byte[] data = Encoding.UTF8.GetBytes(Data);
byte[] data = Encoding.UTF7.GetBytes(Data);
byte[] data = Encoding.Unicode.GetBytes(Data);
byte[] data = Encoding.ASCII.GetBytes(Data);
第2个回答  2012-09-29
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;
}
}
}

****************************************希望能够帮到你!**************************************************

参考资料:

第3个回答  2012-09-29
转化成ASCII码么,汉字用的是UN编码,这就把汉字和字母转换成了数字,至于数字你不是已经懂了么,呵呵
第4个回答  2012-09-29
可以先得到字符串的字节数组
也就是byte[] 好像是有这么一个方法
第5个回答  2012-09-30
你想把里面的英文转换成对应的汉语?? 哎,, 这个就连谷歌都做不到100%的翻译正确啊,,

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网