Страница: 1 |
Страница: 1 |
Вопрос: Ведь 1 символ = 1 байту...
Добавлено: 27.06.04 22:43
Автор вопроса: Calhoon | Web-сайт:
В справке по VB о функции Input написано: Примечание. Эквивалентной функцией побайтовой обработки текстовых файлов является InputB. В этом случае число указывает число байт (а не символов), которые следует вернуть. Но ведь 1 символ = 1 байту, тогда в чем разница?
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #1
Добавлено: 27.06.04 22:57
попробуй создать строку, и посмотреть что возвратят тебе Len и LenB... Первая строка возвратит длинну строки, а вторая - удвоенную длинну строки... потому как в VB на один символ приходится 2 байта, wide string так называемая...
может конечно не втему ляпнул, но этипи Input/InputB в VB никогда не пользовался...
Номер ответа: 2
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #2
Добавлено: 27.06.04 23:10
А кто сказал, что 1 символ = 1 байту? Если ANSI - да, если Unicode (VB оперирует такой кодировкой) - нет. На 1 символ в Unicode отводится 2 байта. И ещё: Input считывает символ, а InputB - 1 байт, что не одно и тоже.
Номер ответа: 3
Автор ответа:
Calhoon
ICQ: 789764
Вопросов: 90
Ответов: 230
Web-сайт:
Профиль | | #3
Добавлено: 28.06.04 00:25
> И ещё: Input считывает символ, а InputB - 1 байт, что не одно и тоже.
И в чем разница? Что значит - считать 1 байт?
Номер ответа: 4
Автор ответа:
Calhoon
ICQ: 789764
Вопросов: 90
Ответов: 230
Web-сайт:
Профиль | | #4
Добавлено: 28.06.04 00:25
Ваще бошку плющит толи после дня города чтоли...
Номер ответа: 5
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #5
Добавлено: 28.06.04 00:55
А ещё советовал Noviks'у меньше пить
Ну как в чём разница? Ещё раз: 1 символ кодированный в Unicode, занимает 2 байта, а не один.
InputB служит для считывания байтовых данных, содержащихся в текстовых файлах
InputB(Number, [#]FileNumber)
параметр Number указывает число байт (а не символов), которые следует вернуть.
Пожалуй, тебе тоже не мешало бы отдохнуть от дня города
Номер ответа: 6
Автор ответа:
Calhoon
ICQ: 789764
Вопросов: 90
Ответов: 230
Web-сайт:
Профиль | | #6
Добавлено: 28.06.04 01:08
Есть немного... Спасибо за помощь.
Номер ответа: 7
Автор ответа:
DaSharm
ICQ: 780477
Вопросов: 72
Ответов: 1297
Web-сайт:
Профиль | | #7
Добавлено: 28.06.04 11:20
Ето не С, в котором длина строки char[] измеряеться в байтах и никак иначе, вот там длина строки будет равна количеству байтов. В вб же используеться BStr (Basic String или что-то типа того, точно не помню), которая имеет другую структуру чем char в C и количество байтов в ней не совпадает с количеством символов.