|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.03.2012, 15:40 | #1 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Байтовая конвертация типов данных
не знал как тему обозвать но так вроде бы вернее всего.
задачка такая. у меня есть тип данных - массив integer я в него принимаю данные из сокета. ну этот массив - что то вроде своего формата сообщений (как бы свой протокол) и вот я прочитал в него значения пришедшие от сервака и оказалось что там начиная со второго integer и до конца - это текст. как выудить этот текст оттуда? Создать стрим, пихнуть туда все и заново прочитать из стрима в нужный формат как то думаю дороговато будет....
Писано по д'Эльфийски
|
04.03.2012, 16:35 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А массив Integer обязательно? Не проще сделать массив Byte или Char? Из него проще будет текст извлечь
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
04.03.2012, 16:57 | #3 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Ну как бы у меня текста не часто приходят. в основном приходят команды для клиента от сервера типа
первое число - идентификатор команды. все остальные числа служебные значения для каждой команды значищие что то свое. и вот допустим ко мне пришла команда 15 допустим. а это значит что во всех остальных переменных лежит какое то текстовое содержимое поэтому мне удобнее оперировать с integer
Писано по д'Эльфийски
|
04.03.2012, 17:32 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А как коды этих символов размещаются - 1 на Integer или 4 на Integer или как-то по другому?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 04.03.2012 в 17:40. |
04.03.2012, 17:43 | #5 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
короче передаю я в паток каждый integer по 4 байта. и так же вытягиваю. вытянул - все норм - все сходится....
и вот передо мной на клиенте тот самый мой тип данных что я передавал. но как выдрать из него текст - не знаю. наверное все таки в стрим писать его надо и потом уже читать оттуда как текст PS в смысле в первом случае я отправил сообщение с сервера таким то образом как мой тип данных (в случае когда необходимо дать команду) а вот когда текст кидал я на серваке схормировал пакет где первым идет идентификатор команды а далее текст. все пакеты фиксированной длинны. ибо плевался я когда пакеты слипались и не знал а какой длинны мне прислали пакет
Писано по д'Эльфийски
Последний раз редактировалось Лубышев; 04.03.2012 в 17:46. |
04.03.2012, 17:48 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
04.03.2012, 17:48 | #7 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
в общем в любом случае у клиента оказалась переменная моего типа данных (массив integer в котором начиная со второго числа идет текст спрятанный в интежерах
Писано по д'Эльфийски
|
04.03.2012, 17:49 | #8 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
О спасиба. что то похожее вродь)
Писано по д'Эльфийски
|
04.03.2012, 20:29 | #9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Без цикла и побыстрей можно еще так
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
04.03.2012, 22:14 | #10 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Что то с форумом не того. почему то плюсик поставить нельзя. грят что мол надо оценить кого то еще.. но я оценивал целую толпу людей до этого а все равно...
Писано по д'Эльфийски
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конвертация типов: Double to Integer | Noor | Общие вопросы Delphi | 4 | 26.09.2012 18:46 |
Конвертация типов | DigitalAngel | C# (си шарп) | 4 | 15.02.2012 17:16 |
Ошибка типов данных | Lotles | Общие вопросы C/C++ | 0 | 08.11.2010 12:53 |
Конвертация типов в дельфи | Vikenty | Помощь студентам | 2 | 22.05.2010 18:03 |
Преобразование типов данных | stepchild | БД в Delphi | 14 | 19.07.2009 21:45 |