Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Ведь 1 символ = 1 байту... Добавлено: 27.06.04 22:43  

Автор вопроса:  Calhoon | Web-сайт: 4elovekssn.blog.ru | ICQ: 789764 
В справке по VB о функции Input написано: Примечание. Эквивалентной функцией побайтовой обработки текстовых файлов является InputB. В этом случае число указывает число байт (а не символов), которые следует вернуть. Но ведь 1 символ = 1 байту, тогда в чем разница?

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #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-сайт: 4elovekssn.blog.ru
 Профиль | | #3
Добавлено: 28.06.04 00:25
> И ещё: Input считывает символ, а InputB - 1 байт, что не одно и тоже.
И в чем разница? Что значит - считать 1 байт?

Ответить

Номер ответа: 4
Автор ответа:
 Calhoon



ICQ: 789764 

Вопросов: 90
Ответов: 230
 Web-сайт: 4elovekssn.blog.ru
 Профиль | | #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-сайт: 4elovekssn.blog.ru
 Профиль | | #6
Добавлено: 28.06.04 01:08
Есть немного... Спасибо за помощь.

Ответить

Номер ответа: 7
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #7
Добавлено: 28.06.04 11:20
Ето не С, в котором длина строки char[] измеряеться в байтах и никак иначе, вот там длина строки будет равна количеству байтов. В вб же используеться BStr (Basic String или что-то типа того, точно не помню), которая имеет другую структуру чем char в C и количество байтов в ней не совпадает с количеством символов.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам