¿Quiere decir que solo quiere los caracteres alfabéticos y no los dígitos? ¿Entonces quieres "calidad" como resultado? Porque entonces hablar de ASCII tiene poco sentido.
Lars Truijens
Quiero Ascii de cada carácter de esa cadena, Ascii de dígitos y ascii de la palabra "calidad"
RBS
Lo que quiere decir es que quiere el valor ASCII numérico de cada carácter en la cadena, asumiendo que toda la cadena se puede representar en ASCII. Su redacción actual es muy confusa.
Esto me muestra System.Byte []. Necesita recorrer los caracteres de la palabra. No estoy seguro de cómo lo hiciste funcionar. Ayudó al OP aunque que es lo que importa.
NikosV
Nota: Encoding.ASCIIestá configurado para emitir la unidad de código ASCII para el carácter de reemplazo ('?') Para caracteres que no están en el juego de caracteres ASCII. Otras opciones, incluido el lanzamiento de una excepción, están disponibles en la Encodingclase. Y, por supuesto, también están disponibles otras codificaciones de caracteres, especialmente UTF-8; Uno debería preguntarse si es ASCII lo que realmente se busca.
Tom Blodget
37
string s ="9quali52ty3";foreach(char c in s){Console.WriteLine((int)c);}
¿Quiere decir que solo quiere los caracteres alfabéticos y no los dígitos? ¿Entonces quieres "calidad" como resultado? Puede utilizar Char.IsLetter o Char.IsDigit para filtrarlos uno por uno.
string s ="9quali52ty3";StringBuilder result =newStringBuilder();foreach(char c in s){if(Char.IsLetter(c))
result.Add(c);}Console.WriteLine(result);// quality
stringvalue="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 programa aceptará más de un carácter y generará su valor ASCII:
using System;class ASCII
{publicstaticvoidMain(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 han respondido la pregunta pero no han proporcionado la información que el título me hizo 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 genera lo siguiente en la ventana inmediata:
//Create a character to compare BOMchar byteOrderMark =(char)65279;if(sourceString.ToCharArray()[0].Equals(byteOrderMark)){
targetString = sourceString.Remove(0,1);}
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, por lo que obtenemos un carácter e imprimimos el código ASCII si me equivoco, así que corrija mi respuesta.
Esta respuesta podría necesitar un poco más de explicación. Si tiene un colega con más fluidez en inglés, con respeto debe pedir ayuda.
O. Jones
mi explicación es muy simple porque mi código es muy simple sin ninguna variable, pero usé un concepto simple, ¿cómo se puede imprimir el valor ASCII individual? simple obtener un carácter y convertir el carácter en un valor entero, así que implemente esto y si tengo un error en mi explicación, entonces por favor corrija esto gracias
MA Nadeem
0
¿Por qué no de la manera fácil a la antigua?
publicint[]ToASCII(string s){char c;int[] cByte =newint[s.Length];/ the ASCII stringfor(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;}
string nomFile ="9quali52ty3";byte[] nomBytes =Encoding.ASCII.GetBytes(nomFile);string name ="";foreach(byte he in nomBytes){
name += he.ToString("X02");}`Console.WriteLine(name);
Si bien este código puede resolver la pregunta, incluir una explicación de cómo y por qué esto resuelve el problema realmente ayudaría a mejorar la calidad de su publicación y probablemente resultaría en más votos a favor. Recuerde que está respondiendo la pregunta a los lectores en el futuro, no solo a la persona que pregunta ahora. Por favor, editar su respuesta para agregar explicaciones y dar una indicación de lo que se aplican limitaciones y supuestos.
Dharman
Da un error de compilación: "Carácter inesperado". Los dos `después del ToString probablemente no deberían estar allí.
Respuestas:
De MSDN
Ahora tiene una matriz del valor ASCII de los bytes. Tengo lo siguiente:
57113117 97108105 53 50116121 51
fuente
Encoding.ASCII
está configurado para emitir la unidad de código ASCII para el carácter de reemplazo ('?') Para caracteres que no están en el juego de caracteres ASCII. Otras opciones, incluido el lanzamiento de una excepción, están disponibles en laEncoding
clase. Y, por supuesto, también están disponibles otras codificaciones de caracteres, especialmente UTF-8; Uno debería preguntarse si es ASCII lo que realmente se busca.fuente
Esto debería funcionar:
fuente
¿Quiere decir que solo quiere los caracteres alfabéticos y no los dígitos? ¿Entonces quieres "calidad" como resultado? Puede utilizar Char.IsLetter o Char.IsDigit para filtrarlos uno por uno.
fuente
fuente
Si mal no recuerdo, el valor ASCII es el número de los siete bits inferiores del número Unicode .
fuente
Si desea el código de caracteres para cada carácter de la cadena, puede hacer algo como esto:
fuente
fuente
Este programa aceptará más de un carácter y generará su valor ASCII:
fuente
Los que respondieron anteriormente han respondido la pregunta pero no han proporcionado la información que el título me hizo 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.
El código anterior genera lo siguiente en la ventana inmediata:
un 97 61
163 £ A3
Δ 916 394
√ 8730 221A
fuente
Puede eliminar la lista de materiales usando:
fuente
O en LINQ:
fuente
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, por lo que obtenemos un carácter e imprimimos el código ASCII si me equivoco, así que corrija mi respuesta.
fuente
¿Por qué no de la manera fácil a la antigua?
fuente
// es` mejor ahora;)
fuente