Вы имеете в виду, что вам нужны только буквенные символы, а не цифры? Значит, вы хотите получить "качество" в результате? Потому что тогда говорить об ASCII не имеет смысла.
Lars Truijens
Я хочу Ascii каждого символа из этой строки, Ascii цифр, а также ascii слова «качество»
RBS
Вы имеете в виду, что вам нужно числовое значение ASCII каждого символа в строке, предполагая, что вся строка может быть представлена в ASCII. Ваша нынешняя формулировка очень сбивает с толку.
Это показывает мне System.Byte []. Вам нужно перебрать символы в слове. Не знаю, как ты заставил это работать. Помог ОП, хотя вот что важно.
NikosV
Примечание: Encoding.ASCIIнастроен на выдачу единицы кода ASCII для символа замены ('?') Для символов, не входящих в набор символов ASCII. В Encodingклассе доступны и другие варианты, в том числе создание исключения . И, конечно же, доступны и другие кодировки символов, особенно UTF-8; Следует задаться вопросом, действительно ли нужен именно ASCII.
Том Блоджет
38
string s ="9quali52ty3";foreach(char c in s){Console.WriteLine((int)c);}
Вы имеете в виду, что вам нужны только буквенные символы, а не цифры? Значит, вы хотите получить "качество" в результате? Вы можете использовать Char.IsLetter или Char.IsDigit, чтобы отфильтровать их один за другим.
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]);}
Эта программа примет более одного символа и выведет их значение 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);}}}
Ранее респонденты ответили на вопрос, но не предоставили информацию, которую меня ожидал заголовок. У меня был метод, который возвращал односимвольную строку, но мне нужен был символ, который я мог преобразовать в шестнадцатеричный. Следующий код демонстрирует то, что я ожидал найти в надежде, что он будет полезен другим.
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);
Приведенный выше код выводит в непосредственное окно следующее:
//Create a character to compare BOMchar byteOrderMark =(char)65279;if(sourceString.ToCharArray()[0].Equals(byteOrderMark)){
targetString = sourceString.Remove(0,1);}
В этом ответе можно было бы немного пояснить. Если у вас есть коллега, более свободно говорящий по-английски, с уважением вам следует обратиться за помощью.
О. Джонс
Мое объяснение очень простое, потому что мой код очень прост без каких-либо переменных, но использовал простую концепцию, как можно распечатать значение ASCII, индивидуальное простое получение char и преобразование char в целочисленное значение, поэтому, пожалуйста, вы реализуете это, и если у меня есть ошибка в моем объяснении, поэтому пожалуйста, исправьте это спасибо
MA
0
Почему не старомодным простым способом?
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);
Хотя этот код может решить вопрос, в том числе объяснение того, как и почему это решает проблему, действительно поможет улучшить качество вашего сообщения и, вероятно, приведет к большему количеству голосов за. Помните, что вы отвечаете на вопрос для будущих читателей, а не только для человека, который задает его сейчас. Пожалуйста , измените свой ответ , чтобы добавить объяснения и дать указание о том , что применять ограничения и допущения.
Дхарман
Выдает ошибку компиляции: «Неожиданный символ». Двух `после ToString, вероятно, не должно быть.
Ответы:
Из MSDN
Теперь у вас есть массив значений байтов ASCII. Получилось следующее:
57 113 117 97 108 105 53 50 116 121 51
источник
Encoding.ASCII
настроен на выдачу единицы кода ASCII для символа замены ('?') Для символов, не входящих в набор символов ASCII. ВEncoding
классе доступны и другие варианты, в том числе создание исключения . И, конечно же, доступны и другие кодировки символов, особенно UTF-8; Следует задаться вопросом, действительно ли нужен именно ASCII.источник
Это должно работать:
источник
Вы имеете в виду, что вам нужны только буквенные символы, а не цифры? Значит, вы хотите получить "качество" в результате? Вы можете использовать Char.IsLetter или Char.IsDigit, чтобы отфильтровать их один за другим.
источник
источник
Если я правильно помню, значение ASCII - это количество младших семи бит номера Unicode .
источник
Если вам нужен код для каждого символа в строке, вы можете сделать что-то вроде этого:
источник
источник
Эта программа примет более одного символа и выведет их значение ASCII:
источник
Ранее респонденты ответили на вопрос, но не предоставили информацию, которую меня ожидал заголовок. У меня был метод, который возвращал односимвольную строку, но мне нужен был символ, который я мог преобразовать в шестнадцатеричный. Следующий код демонстрирует то, что я ожидал найти в надежде, что он будет полезен другим.
Приведенный выше код выводит в непосредственное окно следующее:
а 97 61
163 фунтов стерлингов A3
Δ 916 394
√ 8730 221A
источник
Вы можете удалить спецификацию, используя:
источник
Или в LINQ:
источник
Я хочу получить значение ASCII символов в строке на C #.
Каждый дает ответ в этой структуре. Если моя строка имеет значение «9quali52ty3», мне нужен массив со значениями ASCII каждого из 11 символов.
но в консоли мы работаем откровенно, поэтому получаем символ и печатаем код ASCII, если я ошибаюсь, поэтому исправьте мой ответ.
источник
Почему не старомодным простым способом?
источник
// теперь лучше;)
источник