Проверка на буквочку

Тема в разделе "WASM.BEGINNERS", создана пользователем Fucker666, 29 мар 2010.

Статус темы:
Закрыта.
  1. Fucker666

    Fucker666 New Member

    Публикаций:
    0
    Регистрация:
    9 май 2008
    Сообщения:
    18
    А по какому алгоритму можно сделать проверку на буквочку с учетом всего множества возможных кодировок?
     
  2. InsidE

    InsidE Member

    Публикаций:
    0
    Регистрация:
    28 май 2009
    Сообщения:
    357
    Адрес:
    Over the hills and far away...
    ржунемогу
     
  3. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.787
    Fucker666
    если буква латинская то ее кодировка одинакова и для CP-866 и для CP-1251 и для Unicode там к коду латинской буквы добавляется 00 т.е. 'abc'=00,61h,00,62h,00,63h с кириллицей немного сложнее
    А самому набить текст в блокноте и сохранить набитое в разных кодировках и посмотреть текст хотя бы через hiew слабо? Или недостойно?
     
  4. PowerASM

    PowerASM New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2010
    Сообщения:
    59
    Mikl___
    +1 или в том же hiew или WinHEX составить файл с числами от 0000 до FFFF и открыть его в том же блокноте, установив Unicode шрифт. (в WinHEX'е это займет пару секунд и файл будет не очень-то и большой 128 Кб)
     
  5. Fucker666

    Fucker666 New Member

    Публикаций:
    0
    Регистрация:
    9 май 2008
    Сообщения:
    18
    Вот меня как раз кирилица и интересует. И японица тоже не помешала бы...
     
  6. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.787
    Fucker666
    японицы нет есть иероглифы (Kanji) и две азбуки хирагана и катакана. На японском пишут или в Unicode или в JIS (Japan Industrial Standart) и Unicode и JIS двубайтовые кодировки
     
  7. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    это троль...
     
  8. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    фасм.
    Спасибо shoo за вдохновение :)
     
  9. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.787
    Fucker666
    для СP-866 (DOS-кодировка) большие кириллические от 80h до 9Fh малые - от 0A0h до 0AFh и от 0E0h до 0EFh
    для CP-1251 (Windows) большие от 0C0h до 0DFh малые от 0E0h до 0FFh
    Unicode -- двубайтовая кодировка первый байт кириллицы равен 04 второй байт в диапазоне 00 от FFh кроме русского там буквы для языков использующих кириллицу (сербский, белорусский, старославянский и т.д.)
     
  10. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    в файле опецатка: different(неразличимые) - "не" лишнее
     
  11. Fucker666

    Fucker666 New Member

    Публикаций:
    0
    Регистрация:
    9 май 2008
    Сообщения:
    18
    А в винде нет никаких встроенных функций?
     
  12. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Fucker666
    QString :derisive:
     
  13. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    Имейте ввиду, есть версии с окончанием A(nsi) и W(ide):
    CharLower - "в маленькую"
    CharUpper - "В БОЛЬШУЮ"
    CharLowerBuff - "в маленькие"
    CharUpperBuff - "В БОЛЬШИЕ"
    В следующей никаких приставок к имени нет:
    MultiByteToWideChar - A(nsi) -> W(ide)

    Регистр некоторых символов можно нивелировать:
    mov eax,'JOiN'
    or eax,$20202020
    cmp eax,'join'
    ...
    mov eax'JOin'
    and eax,$20202020
    cmp eax,'JOIN'

    Таблица ascii + тдтп. valterg, я словянская душа - єто не PR. Удачи!
    http://board.flatassembler.net/download.php?id=4801
    [​IMG]
     
  14. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    извините, правильно and eax,not $20202020, поскольку 5-биты каждого байта нужно скинуть.
     
  15. Fucker666

    Fucker666 New Member

    Публикаций:
    0
    Регистрация:
    9 май 2008
    Сообщения:
    18
    А нет никакой функции, которая не переводит регистр, а возвращает значение в зависимости от того, является ли символ буквой или, например, цифрой или знаком?
     
  16. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    Fucker666

    wchar_t *wcschr(
    const wchar_t *string,
    wchar_t c
    );

    правда это Run-Time.
    По другому, первый байт юникод символа определил тот ли язык,а вторым сравнил тот ли символ.
     
  17. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    Никогда не пробовал:
    IsCharAlpha
    IsCharAlphaNumeric
     
  18. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Есть такая функция "читать книжки" и мануалы. Умеет учить бездельников, которые тупые вопросы задают. Беггинерсы совсем наглеют... Пусть мои слова замажут "красным" :)
     
  19. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.787
    Fucker666
    Ну ты наглец! Это сайт ассемблера, какие в ж0пу функции?
    Диапазон символов тебе привели -- бери и сравнивай при помощи CMP -- в диапазоне значит символ
     
  20. Fucker666

    Fucker666 New Member

    Публикаций:
    0
    Регистрация:
    9 май 2008
    Сообщения:
    18
    Я думал, что тут программисты собираются, а тут одно хамло обитает!!!
     
Статус темы:
Закрыта.