texto convertir binario c# string binary types

convertir - Cadena a binario en C#



convertir texto a binario c++ (4)

¿Parece que básicamente desea tomar una cadena ASCII, o más preferiblemente, un byte [] (ya que puede codificar su cadena a un byte [] usando su modo de codificación preferido) en una cadena de unos y ceros? es decir, 101010010010100100100101001010010100101001010101000010111101101010

Esto hará eso por ti ...

//Formats a byte[] into a binary string (010010010010100101010) public string Format(byte[] data) { //storage for the resulting string string result = string.Empty; //iterate through the byte[] foreach(byte value in data) { //storage for the individual byte string binarybyte = Convert.ToString(value, 2); //if the binarybyte is not 8 characters long, its not a proper result while(binarybyte.Length < 8) { //prepend the value with a 0 binarybyte = "0" + binarybyte; } //append the binarybyte to the result result += binarybyte; } //return the result return result; }

Tengo una función para convertir la cadena a hexadecimal como esto,

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

¿Podría ayudarme, por favor, a escribir otra cadena en la función binaria basada en mi función de muestra?

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


Aquí hay una función de extensión:

public static string ToBinary(this string data, bool formatBits = false) { char[] buffer = new char[(((data.Length * 8) + (formatBits ? (data.Length - 1) : 0)))]; int index = 0; for (int i = 0; i < data.Length; i++) { string binary = Convert.ToString(data[i], 2).PadLeft(8, ''0''); for (int j = 0; j < 8; j++) { buffer[index] = binary[j]; index++; } if (formatBits && i < (data.Length - 1)) { buffer[index] = '' ''; index++; } } return new string(buffer); }

Puedes usarlo como:

Console.WriteLine("Testing".ToBinary());

y si agrega ''verdadero'' como parámetro, se separará automáticamente cada secuencia binaria.


Aqui tienes:

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


Lo siguiente le dará la codificación hexadecimal para el byte bajo de cada carácter, que se parece a lo que está pidiendo:

StringBuilder sb = new StringBuilder(); foreach (char c in asciiString) { uint i = (uint)c; sb.AppendFormat("{0:X2}", (i & 0xff)); } return sb.ToString();