就是例如输入: "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);
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);
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;
}
}
}
****************************************希望能够帮到你!**************************************************
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[] 好像是有这么一个方法
也就是byte[] 好像是有这么一个方法
第5个回答 2012-09-30
你想把里面的英文转换成对应的汉语?? 哎,, 这个就连谷歌都做不到100%的翻译正确啊,,