MavericK, seclub.org/forum/goto/11218614/ ну так любой дурак напишет. Но ведь помимо русских букв есть еще и другие. Надо рассматривать не буквы, а номера символов, короче как то так. При кодировании двумя с увеличение порядкового номера символа (кажется на 63 байта) уменьшается первый байт, при достижении первым байтом значения -32 символы и воовсе кодятся тремя байтами. А твой метод это лишь часный случай. Впрочем как и моя. Я думаю возможно обойтись без кучи условий и т.д должна быть одна общая для всех случаев формула.
pAvKa1993, номера символов (в юникоде) получаются из UTF-8 довольно легко. Используемые символы делятся на 4 группы, которым первая группа кодируется 1м байтом, вторая 2мя и т.д. Конкретно группы по номерам символов в юникоде и по кодам utf-8 есть в википедии - ru.wikipedia.org/wiki/UTF-8 , там ещё написано в какую группу какие символы входят. Но судя по тому, что в бейсике откуда-то получаются байты с отрицательным значением, в нём это устроено несколько иначе.
cHeRsAnYa1, нет, отрицательные байты это не страшно. Я работал с бмп, там тоже недопустимы отрицательные байты. При считывании делаем не сложная операция. Я уточню какая,я это выяснил,но забыл, у меня записано где-то. А при записа и воосе не надо парится прям как есть: get #0,255 и т.д
заметил прикол: если сохранять байт сразу после чтения то скорость будет в несколько раз ниже чем если записать в массив а потом из него сохранять (это например при копировании или загрузке файла). Правда надо создавать массив с учетом размера файла
5 июн 2010 в 18:56