ASCII определение символа - PullRequest
1 голос
/ 16 июня 2010

Я провел часы без удачи в этом.С точки зрения подсказки cmd, что означает белый цвет, заполненный квадратом с последующим 1?например,

http://i1012.photobucket.com/albums/af249/dororoj/square1.jpg

Я пытался использовать string.find () (используя C ++) с различными шестнадцатеричными символами, перечисленными в таблице ascii по адресу:

http://web.cs.mun.ca/~michael/c/ascii-table.html

безрезультатно.Такой простой вопрос, но я не могу на всю жизнь понять это!Что касается того, что я хочу сделать, я просто хочу иметь возможность найти этот квадрат с 1 впоследствии в любой строке.Большое спасибо.

Ответы [ 4 ]

3 голосов
/ 16 июня 2010

od -c позволит вам увидеть, что это за последовательность.Просто вставьте в него текст.

2 голосов
/ 16 июня 2010

Это не символ ASCII. Это вполне возможно. ASCII кодирует только 127 из 100 000+ символов. Похоже, ваш персонаж может быть Unicode, U + 2588 "Полный блок": █. Но это трудно увидеть на скриншоте. Существует целое семейство блоков, подобных этому, начиная с U + 2580 ▀ и заканчивая U + 2590 ▐

(я не проверил все 100.000; возможно, есть больше похожих символов. Например, U + 53E3 口, китайский символ)

2 голосов
/ 16 июня 2010

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

Если ваша система не издает звуковых сигналов каждый раз, когда она пытается отобразить эту строку, что вы, вероятно, можете исключить символ системного звонка ...;)

1 голос
/ 16 июня 2010

Я запустил следующий бит кода C # и нашел символ, который вы упомянули, когда цикл достиг 166. Так что я сомневаюсь, что это может означать что-нибудь полезное. Хотя это не означает ничего, что он мог бы использовать для примитивного отображения / рисования на основе ASCII:)

namespace block
{
    class Program
    {
        static void Main(string[] args)
        {
            int j;
            for ( j = 0; j < 1000; j++)
            {
                Console.Write((char)j+" "+j +"\t");


            }
            Console.Read();
        }
    }
}
...