Quiero obtener el valor ASCII de caracteres de 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#?

  • Qué quiere decir que usted sólo desea que los caracteres alfabéticos y no los dígitos? Así que usted quiere «calidad» como resultado? La causa luego de hablar sobre ASCII tiene poco sentido.
  • Quiero Ascii de cada carácter de la cadena Ascii de dígitos así como ascii de la palabra «calidad»
  • Lo que quieres decir es que quieres que el numérico el valor ASCII de cada carácter en la cadena, asumiendo la totalidad de la cadena puede ser representado en ASCII. Su actual redacción es muy confusa.
InformationsquelleAutor RBS | 2008-12-30

14 Comentarios

  1. 182

    De MSDN

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

    Ahora tiene una matriz de el valor ASCII de la bytes. Tengo las siguientes:

    57
    113
    117
    97
    108
    105
    53
    50
    116
    121
    51

    • Esto me demuestra Sistema.Byte[]. Usted necesita un bucle a través de los caracteres de la palabra. No está seguro de cómo tengo que trabajar. Ayudó a la OP a pesar de que es lo que importa.
    • Nota: Encoding.ASCII está configurado para emitir el código ASCII de la unidad para la sustitución de caracteres (‘?’) para los caracteres que no están en el conjunto de caracteres ASCII. Otras opciones—incluyendo lanzar una excepción—están disponibles en el Encoding clase. Y, por supuesto, otras codificaciones de caracteres—sobre todo en UTF-8 están disponibles, también, Uno debe cuestionar si es ASCII, que es en realidad quería.
  2. 32
    string s = "9quali52ty3";
    foreach(char c in s)
    {
      Console.WriteLine((int)c);
    }
    • El resultado son los códigos Unicode números y, potencialmente, podría no contienen códigos ASCII.
  3. 21

    Esto debería funcionar:

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

    Qué quiere decir que usted sólo desea que los caracteres alfabéticos y no los dígitos? Así que usted quiere «calidad» como resultado? Usted puede usar Char.IsLetter o Char.IsDigit para filtro de ellos 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
  5. 3
    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]);
        }
    • este es también uno de ejemplo para implementar valor ascii de cada charcter en cadena dada
  6. 3
    byte[] asciiBytes = Encoding.ASCII.GetBytes("Y");
    foreach (byte b in asciiBytes)
    {
        MessageBox.Show("" + b);
    }
  7. 3

    Este programa acepta más de un carácter y de la salida de 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);
            }
        }
    }
  8. 2

    Anterior socorristas han contestado a la pregunta, pero no han proporcionado la información que el título me llevó a esperar. Yo tenía un método que devuelve una cadena de caracteres, pero
    Yo quería un personaje que podría convertir a hexadecimal. El código siguiente muestra lo que yo pensaba que me iba a encontrar con la esperanza de que sea útil a los demás.

      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 genera la siguiente en la ventana inmediato:

    a£Δ√

    un 97 61

    £ 163 A3

    Δ 916 394

    √ 8730 221A

  9. 2
    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 la parte inferior de siete bits de la Unicode número.

  10. 2

    Si quieres la charcode para cada carácter en la cadena, se podría hacer algo como esto:

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

    O en LINQ:

    string value = "9quali52ty3";

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

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

  12. 0

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

    Todos confieren a responder 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 consola trabajamos franqueza, así que conseguir un char e imprimir el código ASCII si me equivoco por favor corregir mi respuesta.

     static void Main(string[] args)
            {
                Console.WriteLine(Console.Read());
                Convert.ToInt16(Console.Read());
                Console.ReadKey();
            }
    • Esta respuesta podría utilizar un poco más de explicación. Si tienes un colega con más soltura en inglés, con el respeto que usted debe pedir ayuda.
    • mi explicación es muy simple, porque mi código es muy simple, sin que ninguna de las variables sino que se utiliza un concepto simple ¿cómo se puede imprimir el valor ASCII individuales simple de obtener un char y convertir el carbón en valor entero así que por favor implementar este y si me he equivocado en mi explicación, así que por favor corregir esto, gracias
  13. 0

    ¿Por qué no a la antigua manera fácil?

        public int[] ToASCII(string s)
        {
            char c;
            int[] cByte = new int[s.Length];   / the ASCII string
            for (int i = 0; i < s.Length; i++)
            {
                c = s[i];                        //get a character from the string s
                cByte[i] = Convert.ToInt16(c);   //and convert it to ASCII
            }
            return cByte;
        }

Dejar respuesta

Please enter your comment!
Please enter your name here