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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
参考技术A 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);
参考技术B 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;




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

参考资料:http://wenwen.soso.com/z/q251184166.htm

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

js验证字符长度,一个中文2个字符,英文和数字为1个字符

原理,就是把一个汉字替换为两个字母,来实现长度验证。

 

//js正则验证字符长度

第一种:直接输出长度

alert(‘1sS#符‘.replace(/[^x00-xff]/g, ‘AA‘).length);

 

第二种:先转换一个汉字为两个字母,再进行登录名正则规则的验证(此段正则含义:不能以数字开头,不能包含_#?等特殊字符,至少6-25位长度)

function checkLoginName(str) {
   return /^(?!d)[u4e00-u9fa5a-zA-Z0-9_-]{6,25}$/.test(str.replace(/[u4e00-u9fa5]{1}/g, ‘xx‘));
}
alert(checkUserName(‘s1Sc符‘));

 

转载于:https://www.cnblogs.com/mose/p/5488772.html

以上是关于c#如何把输入的字符(汉字和英文和数字)输出为对应的二进制的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 中怎样判断文本框只能输出英文字母、汉字和数字,不能输入特殊字符!

如何使C++将数字转换为ASC2码表中对应的符号输出?

c# 如何让textbox只能输入数字和小数

在mfc中如何判断输入的是不是为汉字?

python数字转汉字 青少年编程电子学会python编程等级考试二级真题解析2020年3月

python数字转汉字 青少年编程电子学会python编程等级考试二级真题解析2020年3月