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

2025-05-22 20:56:25
推荐回答(6个)
回答1:

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);

回答2:

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);

回答3:

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);
}

///


/// 输入一个十进制 返回一个二进制
///

///
/// 装换成的二进制数
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;
}
}
}

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

回答4:

转化成ASCII码么,汉字用的是UN编码,这就把汉字和字母转换成了数字,至于数字你不是已经懂了么,呵呵

回答5:

可以先得到字符串的字节数组
也就是byte[] 好像是有这么一个方法

回答6:

你想把里面的英文转换成对应的汉语?? 哎,, 这个就连谷歌都做不到100%的翻译正确啊,,