Разбить строку до чисел ASCII - PullRequest
0 голосов
/ 30 мая 2011

Я пытаюсь найти, чтобы взять строку и сохранить ее как массив значений ASCII в виде целых чисел

т.е.строка 1 = привет
массив 72,69 и т. д.

Ответы [ 3 ]

2 голосов
/ 30 мая 2011
var arr = Encoding.ASCII.GetBytes("Hello");
1 голос
/ 30 мая 2011

Чтобы немного расширить комментарий Хенка, строка уже является массивом 16-битных целых чисел (шорт), представляющих кодовую точку Unicode каждого символа (но см. Ниже).Если ваша строка полностью состоит из «ASCII» (кодовые значения ниже 128), то выполнение нижеприведенного кода даст то, что вы ожидаете:

string s = "hello";
foreach (char c in s)
{
    Console.WriteLine((short)c);
}

104
101
108
108
111

Используйте s.ToCharArray(), чтобы извлечь этот массив и делать с ним все, что хотите.Обратите внимание, что строки могут содержать любой символ Unicode, и ваша программа должна это понимать (включая случай, когда для представления одного символа требуется более одного короткого символа).

0 голосов
/ 30 мая 2011

Вы настаиваете на кодировке ASCII (как насчет всех других возможных символов)?Если нет, то есть если вам нужен массив символов Юникода, я бы предложил использовать

myString.ToCharArray();

или

myString.ToCharArray().Cast<int>().ToArray();

(последнее, если вам нужно int значения)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...