Russian Qt Forum
Ноябрь 27, 2024, 04:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Непечатаемые символы  (Прочитано 4110 раз)
vbi
Гость
« : Май 06, 2013, 13:21 »

У меня есть набор символов в QByteArray, совершенно любых и непечатаэмых в том числе.
У меня есть сайт и PHP страничка. Мне нужно в PHP страничку передать этот набор символов. Как мне это сделать?
Возможности поднять деамон и обрабатывать сокеты нет, только через PHP. Возбожно ли передать любые символы через форму?
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #1 : Май 06, 2013, 13:26 »

Base64 вам в помощ
Записан
vbi
Гость
« Ответ #2 : Май 08, 2013, 17:32 »

Спасибо, супер, но честно говоря когда в QT делаю .toBase64() а средствами PHP разкодирую base64_decode() то последовательность байт отличается. Вот привел коды символов, разделенные нижним подчеркиванием.
Вот до кодирования в QT (сам QT раскодирует его нормально после кодирования)

111
_89_100_88_
39_59_52_124_19_22_67_96_108_67_79_75_89_31_24_85_103_86_107_76_24_99_18_114_19_24_19_111_77_74_103_109_24_117_116_114_108_97_97_27_18_90_115_21_23_89_81_78_117_117
_11_75_74_88_32_ 
39_42_62_20_67_124_111_81_110_22_103_97_25_29_105_124_119_115_66_20_100_124_75_16_30_85_71_111_20_124_96_80_25_72_79_105_123_123_98_19_80_107_110_117_117_18_113_24_104_112
_68_102_35_54_50_49_82_0_9_86_40_
115_56_44_126_73_110_102_28_97_43_4_40
_59_91_13_20_124_6_91_104_36_55_31_6_51_93_47_57_

Вот раскодированное сообщение на сайте средствами PHP (жырным выделены отличающиеся участки):
111
54_34_70_
39_59_52_124_19_22_67_96_108_67_79_75_89_31_24_85_103_86_107_76_24_99_18_114_19_24_19_111_77_74_103_109_24_117_116_114_108_97_97_27_18_90_115_21_23_89_81_78_117_117
56_111_35_117_28
39_42_62_20_67_124_111_81_110_22_103_97_25_29_105_124_119_115_66_20_100_124_75_16_30_85_71_111_20_124_96_80_25_72_79_105_123_123_98_19_80_107_110_117_117_18_113_24_104_112
93_43_119_8_29_47_46_63_89_9_22
115_56_44_126_73_110_102_28_97_43_4_40
50_45_112_73_11_98_62_6_25_104_76_108_0_86_122_59_

Если пробую на самом сайте средствами PHP кодировать base64_encode() и декодировать base64_decode() - так работает нормально. Очевидно различаются механизмы кодирования в base64 в QT и PHP.
Как решить эту проблему?
Записан
vbi
Гость
« Ответ #3 : Май 10, 2013, 12:14 »

Все дело в том что разные алгоритми base64.
Я base64 заменил toHex() в QT и pack("H*" , $cryptedMsg) в PHP
Записан
thechicho
Гость
« Ответ #4 : Май 10, 2013, 14:59 »

может алгоритм стандартный, но разная кодировка символов
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.134 секунд. Запросов: 23.