Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Как обращаться к символам из таблицы ASCII


Автор: q12357 18.1.2009, 19:34
Здравствуйте.
Не подскажете как обращаться к таблице символов ascii чтобы найти в ней определенный символ его порядковый номер или по порядковому номеру найти символ. Чтобы например вставить его в строку.
Короче, чтобы обращаться к ascii как к массиву символов или строке??

Автор: Drabuna 18.1.2009, 20:17
Код

Convert.ToChar(0x4B)
Convert.ToChar(75)


Выведут K

Если вам нужны символы из таблицы виндоус используйте:
Код

string s="\u1e11";


Автор: q12357 26.1.2009, 15:12
Drabuna, я ничего не понял. 
Допустим у меня есть символ "К" мне надо узнать его порядковый номер в таблице ASCII. На сколько я знаю в ней 255 или 256 символов.

Автор: Drabuna 26.1.2009, 15:30
Код

        string get_ascii_code(string convertme)
        {
            Encoding ascii = Encoding.ASCII;

            Byte[] encodedBytes = ascii.GetBytes(convertme);

            string temp="";

            foreach (Byte b in encodedBytes)
            {
                temp = String.Concat(temp, "[" + b + "]");
            }

            return temp;
        }

        private void button1_Click(object sender, EventArgs e)
       {
         textBox1.Text=get_ascii_code("K");
       }


Вернет вам код нужного символа, или коды всей строки.

Автор: GhosTer 26.1.2009, 15:37
Код

int i=Convert.ToInt16('K');


Ты получишь i=75

Код

char s=(char)75


Ты получишь s="K"

Автор: q12357 9.2.2009, 06:46
прошу прощение за задержки ответами в тему.
Encoding подчеркивается синим и такая ошибка 
The type or namespace name 'Encoding' could not be found (are you missing a using directive or an assembly reference?)
и ascii.GetBytes(convertme); слово ascii подчеркивается синим и такая ошибка: 
The type or namespace name 'ascii' could not be found (are you missing a using directive or an assembly reference?
подскажите что нужно подключить или что сделать??



Автор: Partizan 9.2.2009, 12:03
q12357

http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx

MSDN говорит, что класс Encoding лежит в System.Text в сборке mscorlib. Так как mscorlib - это основная сборка, то действий по её подключению к проекту делать не придётся.

Единственное, что нужно сделать - это либо добавить в начало файла 

Код

using System.Text;


либо вместо Encoding писать System.Text.Encoding

Автор: q12357 9.2.2009, 16:05
Drabuna, это я узнаю коды порядковыен символов так как я понял.
А как сделать чтобы все символы какие есть в ascii мне записать в строку?

Автор: contramundum 10.2.2009, 09:28
q12357
Код

dim i as integer
for i=1 to 255
 :crazy 
next

 smile 

Автор: q12357 11.2.2009, 16:15
contramundum, не понял.

Автор: contramundum 12.2.2009, 09:29
Цитата(q12357 @  9.2.2009,  16:05 Найти цитируемый пост)
А как сделать чтобы все символы какие есть в ascii мне записать в строку?



Цитата(contramundum @  10.2.2009,  09:28 Найти цитируемый пост)

dim i as integer
for i=1 to 255
 smile 
next
  


объясняю: создаешь переменную типа "число", далее делаешь обычный цикл от 1 до 255 и в этом цикле выполняешь свои преобразования в символы АСКИ и добавляешь их в строку, таблицу или куда хочешь)
или тебе код наваять бесплатно? smile 

Автор: contramundum 12.2.2009, 10:18
вобщем, чтобы получить все символы с 1 по 255 сделай так:
создай форму, налепи туда длиннющий TextBox и кнопку, затем забей код
я на бейсике фигачу, поэтому у меня он выглядит так:
Код

 Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim s As Char
        Dim i As Integer
        For i = 1 To 255
            s = Chr(i)
            TextBox1.Text = TextBox1.Text & "   " & s
        Next
    End Sub


при нажатии кнопки в ТекстБоксе будут отображены все символы от 1 до 255 через несколько пробелов smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)