Кодировка / декодировка данных через сокет
Какие есть методы кодировки / розкодировки отправки данных через сокет (телефон не видит русские буквы через сокет - приходят карлюки), нужно включить аспект что могут в строчке идди как и руские так и английские буквы. пробывал через метод base64 - что то не получается :( . Кодую в Delphi (внизу) - забрасываю в decode_string библиотеки base64v3 - и снова получаю билиберду ? :SOS:
Возможно я не так кодирую или в библиотеке не тот алгоритм розкодировки ? PHP код:
|
Ответ: Кодировка / декодировка данных через сокет
:( :wild: :SOS:
Возможно Encode and Decode только внутрение ф-ции (сам себе закодировал и розкодировал) ? |
Ответ: Кодировка / декодировка данных через сокет
Могу порекомендовать только попытаться раскодировать другой либой (вроде функция была в Lib_proweb), может я что-то в своей накосячил.
Но, скорее всего, где-то проблема с кодировками. |
Ответ: Кодировка / декодировка данных через сокет
Дякую. Попробую проверить свою кодировку ...
|
Ответ: Кодировка / декодировка данных через сокет
Нашол ключ для кодировки даных через сокет. Но и тут загвоздка - работает только в емуляторе . Делаю так в Delphi:
1. поключаю бибилиотеку IdCoder3To4. 2. текст для кодировки сначала кодирую в формат UTF8, а потом в Base64. PHP код:
3. Отправляю кодированый текст через сокет, но - в емуляторе через процедуры decode получается, а телефон розкодирует какой то бред ? 4. Проблема есть ещо в кодирование текста в самом телефоне . Перепробывал кучу функций разных библиотек - проблема одна и таже. Телефон все буквы кирилицы заменяет на знак ?(вопроса) и только тогда кодирует. Здесь и вся загвоздка - я не могу сделать как с емулятором через пробы и ошибки вывод как кодировать - потому что телефон разный текст кирилицы кодирует похожим выходним текстом в base64. Возможно нужно как и в Delphi сначала перед base перекодировать в другой формат. Кто сталкивался с етим помогите пожалуйста. P.S. еще раз о ошибки кодирования телефоном. Например текст телефон одинаково закодит как (Привет как дела) и (?????? ??? ????) |
Ответ: Кодировка / декодировка данных через сокет
По идее, все перекодировки нужно делать в кодировке win-1251, т.е.:
1. берем текст, например, из TextField'a 2. Перекодируем его в win-1251 3. Кодируем в base64 обратно - наоборот: 1. Получаем текст в base64 2. Декодируем base64 3. Перекодируем текст в utf 4. Выводим |
Ответ: Кодировка / декодировка данных через сокет
Спасибо. Сегодня попробую
|
Ответ: Кодировка / декодировка данных через сокет
Цитата:
Вопрос в том как этот текст из TextField'a перекодировать в win-1251. В какой начальной кодировке этот текст - UTF или unicode. И как его перекодировать в win-1251. Примеров не нашел, хотя многие спрашивали !!! На счет примеров, если из utf2win тогда они есть, но везде разные. Подскажите пожалуйста пример который уже испытан на практике. |
Ответ: Кодировка / декодировка данных через сокет
1. На Delphi :
Перевожу русские буквы в base64, и отправляю в сокет ...Socket.Connections[i].SendText(AnsiToBase64('ваш текст' + '@')), где например @ --- дополнительно обозначаю конец текста PHP код:
EncodeBase64 : PHP код:
2. На мобильном клиенте Считываю данные, PHP код:
PHP код:
|
Часовой пояс GMT +4, время: 10:07. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot