2013-08-06 3 views
0

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

, например, "А" -> 65

, например, "2" -> 50

Dim myString as string = "ABC"

'....

Dim integerArray(3) as integer

плз без какой-либо работы вокруг, как петли;)

+2

Всегда будет какой-то цикл, даже если вы его не видите, потому что он внутри какого-то метода. Таким образом, метод, который содержит цикл, будет подходящим решением для вас? Также: Циклы не обходные, они просты. Тем не менее, замена петли на что-то не прямолинейное может рассматриваться как обходной путь. –

+0

Также строки .net представлены как unicode, которые могут содержать значения, которые не имеют ascii-представления, как должно обрабатывать решение? – user1937198

+0

true, используйте эту петлю функций ... вы можете получить знак ASCII, или его значение не совпадает ... Знак ASCII «2» имеет значение 50 – Gambzor

ответ

1

Если вы хотите кодировку ASCII, вы можете сделать это:

Dim test As String = "Hello" 
Dim bytes As Byte() = Encoding.ASCII.GetBytes(test) 

Массив «bytes» будет содержать представление ASCII строки. Как отметил @ user1937198, ASCII кодирует то, что вы действительно хотите?

Чтобы получить массив в массив целых чисел, вы можете сделать это:

Dim ints As Integer() = bytes.Select(Function(b) Convert.ToInt32(b)).ToArray() 
0

Без всякого «обмана», как для петель:

Dim asciiValues = "The string to convert".ToCharArray().Select(Function(c) Asc(c)).ToArray() 

(Примечание: петли не обман либо ...;))

Смежные вопросы