Quer dizer que você quer apenas os caracteres alfabéticos e não os dígitos? Então você quer "qualidade" como resultado? Porque então falar sobre ASCII faz pouco sentido.
Lars Truijens
Eu quero ASCII de cada caractere dessa string, ASCII de dígitos, bem como ASCII da palavra "qualidade"
RBS
O que você quer dizer é que deseja o valor ASCII numérico de cada caractere da string, presumindo que toda a string possa ser representada em ASCII. Seu texto atual é muito confuso.
Isso me mostra System.Byte []. Você precisa percorrer os caracteres da palavra. Não sei como você fez isso funcionar. Ajudei o OP, mas é isso que importa.
NikosV
Nota: Encoding.ASCIIestá configurado para emitir a unidade de código ASCII para o caractere de substituição ('?') Para caracteres que não estão no conjunto de caracteres ASCII. Outras opções - incluindo lançar uma exceção - estão disponíveis na Encodingclasse. E, é claro, outras codificações de caracteres - especialmente UTF-8 - também estão disponíveis; Deve-se questionar se o ASCII é realmente desejado.
Tom Blodget
37
string s ="9quali52ty3";foreach(char c in s){Console.WriteLine((int)c);}
Quer dizer que você quer apenas os caracteres alfabéticos e não os dígitos? Então você quer "qualidade" como resultado? Você pode usar Char.IsLetter ou Char.IsDigit para filtrá-los um por um.
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 aceitará mais de um caractere e produzirá seu 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);}}}
Os respondentes anteriores responderam à pergunta, mas não forneceram as informações que o título me levou a esperar. Eu tinha um método que retornava uma string de um caractere, mas queria um caractere que pudesse converter em hexadecimal. O código a seguir demonstra o que pensei que encontraria na esperança de que seja útil para outras pessoas.
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);
O código acima produz o seguinte na janela imediata:
//Create a character to compare BOMchar byteOrderMark =(char)65279;if(sourceString.ToCharArray()[0].Equals(byteOrderMark)){
targetString = sourceString.Remove(0,1);}
Eu quero obter o valor ASCII dos caracteres em uma string em C #.
Todos conferem resposta nesta estrutura. Se minha string tiver o valor "9quali52ty3", quero uma matriz com os valores ASCII de cada um dos 11 caracteres.
mas no console nós trabalhamos com franqueza então pegamos um char e imprimimos o código ASCII se eu estiver errado, então corrija minha resposta.
Esta resposta precisa de um pouco mais de explicação. Se você tem um colega mais fluente em inglês, com respeito você deve pedir ajuda.
O. Jones
minha explicação é muito simples porque meu código é muito simples sem quaisquer variáveis, mas usei um conceito simples de como imprimir o valor ASCII individual simples obter um caractere e converter o caractere em valor inteiro, por favor, implemente isso e se eu tiver um erro na minha explicação, por favor, corrija isso obrigado
MA Nadeem
0
Por que não da maneira fácil e antiquada?
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);
Embora este código possa resolver a questão, incluir uma explicação de como e por que isso resolve o problema realmente ajudaria a melhorar a qualidade da sua postagem e provavelmente resultaria em mais votos positivos. Lembre-se de que você está respondendo às perguntas dos leitores no futuro, não apenas da pessoa que está perguntando agora. Por favor edite sua resposta para adicionar explicações e dar uma indicação do que limitações e premissas se aplicam.
Dharman
Fornece um erro de compilação: "Caractere inesperado". Os dois `após o ToString provavelmente não deveriam estar lá.
Respostas:
Do MSDN
Agora você tem uma matriz do valor ASCII dos bytes. Eu tenho o seguinte:
57 113 117 97 108 105 53 50 116 121 51
fonte
Encoding.ASCII
está configurado para emitir a unidade de código ASCII para o caractere de substituição ('?') Para caracteres que não estão no conjunto de caracteres ASCII. Outras opções - incluindo lançar uma exceção - estão disponíveis naEncoding
classe. E, é claro, outras codificações de caracteres - especialmente UTF-8 - também estão disponíveis; Deve-se questionar se o ASCII é realmente desejado.fonte
Isso deve funcionar:
fonte
Quer dizer que você quer apenas os caracteres alfabéticos e não os dígitos? Então você quer "qualidade" como resultado? Você pode usar Char.IsLetter ou Char.IsDigit para filtrá-los um por um.
fonte
fonte
Se bem me lembro, o valor ASCII é o número dos sete bits inferiores do número Unicode .
fonte
Se você quiser o charcode para cada caractere na string, pode fazer algo assim:
fonte
fonte
Este programa aceitará mais de um caractere e produzirá seu valor ASCII:
fonte
Os respondentes anteriores responderam à pergunta, mas não forneceram as informações que o título me levou a esperar. Eu tinha um método que retornava uma string de um caractere, mas queria um caractere que pudesse converter em hexadecimal. O código a seguir demonstra o que pensei que encontraria na esperança de que seja útil para outras pessoas.
O código acima produz o seguinte na janela imediata:
a 97 61
£ 163 A3
Δ 916 394
√ 8730 221A
fonte
Você pode remover o BOM usando:
fonte
Ou em LINQ:
fonte
Eu quero obter o valor ASCII dos caracteres em uma string em C #.
Todos conferem resposta nesta estrutura. Se minha string tiver o valor "9quali52ty3", quero uma matriz com os valores ASCII de cada um dos 11 caracteres.
mas no console nós trabalhamos com franqueza então pegamos um char e imprimimos o código ASCII se eu estiver errado, então corrija minha resposta.
fonte
Por que não da maneira fácil e antiquada?
fonte
// está melhor agora;)
fonte