字符串二进制在C# [英] String to Binary in C#

查看:145
本文介绍了字符串二进制在C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个函数将字符串转换为十六进制,因为这,

 公共静态字符串ConvertToHex(字符串asciiString)
{
    十六进制字符串=;
    的foreach(在asciiString字符C)
    {
         INT TMP = C;
         (十六进制)+ =的String.Format({0:X2}(UINT)System.Convert.ToUInt32(tmp.ToString()));
    }
    返回十六进制;
}

能否请你帮我写一个可替换的二元函数基于我的样本功能?

 公共静态字符串ConvertToBin(字符串asciiString)
{
    字符串斌=;
    的foreach(在asciiString字符C)
    {
        INT TMP = C;
        滨+ =的String.Format({0:X2},(UINT)System.Convert ????(tmp.ToString()));
    }
    返回仓;
}


解决方案

在这里你去:

 公共静态的byte [] ConvertToByteArray(字符串str,编码编码)
{
    返回encoding.GetBytes(STR);
}公共静态字符串ToBinary(字节[]数据)
{
    返回的string.join(,data.Select(BYT = GT; Convert.ToString(BYT,2).PadLeft(8,'0')));
}//使用任何类型的编码,你喜欢的。
VAR binaryString = ToBinary(ConvertToByteArray(欢迎你,世界!,Encoding.ASCII));

I have a function to convert string to hex as this,

public static string ConvertToHex(string asciiString)
{
    string hex = "";
    foreach (char c in asciiString)
    {
         int tmp = c;
         hex += String.Format("{0:x2}", (uint)System.Convert.ToUInt32(tmp.ToString()));
    }
    return hex;
}

Could you please help me write another string to Binary function based on my sample function?

public static string ConvertToBin(string asciiString)
{
    string bin = "";
    foreach (char c in asciiString)
    {
        int tmp = c;
        bin += String.Format("{0:x2}", (uint)System.Convert.????(tmp.ToString()));
    }
    return bin;
}

解决方案

Here you go:

public static byte[] ConvertToByteArray(string str, Encoding encoding)
{
    return encoding.GetBytes(str);
}

public static String ToBinary(Byte[] data)
{
    return string.Join(" ", data.Select(byt => Convert.ToString(byt, 2).PadLeft(8, '0')));
}

// Use any sort of encoding you like. 
var binaryString = ToBinary(ConvertToByteArray("Welcome, World!", Encoding.ASCII));

这篇关于字符串二进制在C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆