Cómo obtener el valor ASCII de la cadena en C #

Quiero obtener el valor ASCII de los caracteres en una cadena en C #.

Si mi cadena tiene el valor “9quali52ty3”, quiero una matriz con los valores ASCII de cada uno de los 11 caracteres.

¿Cómo puedo obtener valores ASCII en C #?

Desde MSDN

string value = "9quali52ty3"; // Convert the string into a byte[]. byte[] asciiBytes = Encoding.ASCII.GetBytes(value); 

Ahora tiene una matriz del valor ASCII de los bytes. Obtuve lo siguiente:

57 113 117 97 108 105 53 50 116 121 51

 string s = "9quali52ty3"; foreach(char c in s) { Console.WriteLine((int)c); } 

Esto debería funcionar:

 string s = "9quali52ty3"; byte[] ASCIIValues = Encoding.ASCII.GetBytes(s); foreach(byte b in ASCIIValues) { Console.WriteLine(b); } 

¿Quiere decir que solo quiere los caracteres alfabéticos y no los dígitos? Entonces, ¿quieres “calidad” como resultado? Puede usar Char.IsLetter o Char.IsDigit para filtrarlos uno por uno.

 string s = "9quali52ty3"; StringBuilder result = new StringBuilder(); foreach(char c in s) { if (Char.IsLetter(c)) result.Add(c); } Console.WriteLine(result); // quality 
 string value = "mahesh"; // Convert the string into a byte[]. byte[] asciiBytes = Encoding.ASCII.GetBytes(value); for (int i = 0; i < value.Length; i++) { Console.WriteLine(value.Substring(i, 1) + " as ASCII value of: " + asciiBytes[i]); } 
 byte[] asciiBytes = Encoding.ASCII.GetBytes("Y"); foreach (byte b in asciiBytes) { MessageBox.Show("" + b); } 
 string text = "ABCD"; for (int i = 0; i < text.Length; i++) { Console.WriteLine(text[i] + " => " + Char.ConvertToUtf32(text, i)); } 

Si recuerdo correctamente, el valor ASCII es el número de los siete bits más bajos del número Unicode .

Si desea el código de cada carácter en la cadena, podría hacer algo como esto:

 char[] chars = "9quali52ty3".ToCharArray(); 

Puede eliminar la lista de materiales usando:

 //Create a character to compare BOM char byteOrderMark = (char)65279; if (sourceString.ToCharArray()[0].Equals(byteOrderMark)) { targetString = sourceString.Remove(0, 1); } 

Este progtwig aceptará más de un carácter y generará su valor ASCII:

 using System; class ASCII { public static void Main(string [] args) { string s; Console.WriteLine(" Enter your sentence: "); s = Console.ReadLine(); foreach (char c in s) { Console.WriteLine((int)c); } } } 

Los que respondieron anteriormente respondieron la pregunta, pero no me proporcionaron la información que el título me llevó a esperar. Tenía un método que devolvía una cadena de un carácter, pero quería un carácter que pudiera convertir a hexadecimal. El siguiente código demuestra lo que pensé que encontraría con la esperanza de que sea útil para otros.

  string s = "\ta£\x0394\x221A"; // tab; lower case a; pound sign; Greek delta; // square root Debug.Print(s); char c = s[0]; int i = (int)c; string x = i.ToString("X"); c = s[1]; i = (int)c; x = i.ToString("X"); Debug.Print(c.ToString() + " " + i.ToString() + " " + x); c = s[2]; i = (int)c; x = i.ToString("X"); Debug.Print(c.ToString() + " " + i.ToString() + " " + x); c = s[3]; i = (int)c; x = i.ToString("X"); Debug.Print(c.ToString() + " " + i.ToString() + " " + x); c = s[4]; i = (int)c; x = i.ToString("X"); Debug.Print(c.ToString() + " " + i.ToString() + " " + x); 

El código anterior muestra lo siguiente en la ventana inmediata:

 a£Δ√ 

a 97 61

£ 163 A3

Δ 916 394

√ 8730 221A

O en LINQ:

string value = "9quali52ty3";

var ascii_values = value.Select(x => (int)x);

var as_hex = value.Select(x => ((int)x).ToString("X02"));

Quiero obtener el valor ASCII de los caracteres en una cadena en C #.

Todos confieren respuesta en esta estructura. Si mi cadena tiene el valor “9quali52ty3”, quiero una matriz con los valores ASCII de cada uno de los 11 caracteres.

pero en la consola trabajamos con franqueza, así que obtenemos un carácter e imprimimos el código ASCII si me equivoco, así que por favor corrija mi respuesta.

  static void Main(string[] args) { Console.WriteLine(Console.Read()); Convert.ToInt16(Console.Read()); Console.ReadKey(); }