Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

winsock

winsock
Я
   freewind_sd
 
28.11.17 - 16:04
Здравствуйте.
Сталкивался ли кто ни будь с таким вопросом:
получаю данные по сети с использованием компонента
WinSock.GetData(Буфер,8);
при этом данные складываются в строку в виде UNICODE
при этом если код символа превышает 127, при
КодСимвола(Буфер)
я получаю соответствие юникода 1105 и т.д...
можно ли как то преобразовать в ANSII или получить данные в первоначальном виде?

Спасибо.
 
 
   Fish
 
1 - 28.11.17 - 16:17
   freewind_sd
 
2 - 28.11.17 - 16:35
Подстановкой?
Это грустный вариант...если измениться кодировка в системе соответствие уже не сработает...
мне больше конечно интересно можно ли как то данные без преобразования в юникод получить...ведь по сети уходит и приходит число от 0 до 255, только складывается в строку и в этот момент уже преобразовывается как я понял...
   nordbox
 
3 - 28.11.17 - 16:38
почитай, может сам что то напишешь:
https://ru.wikipedia.org/wiki/Юникод
   oleg_km
 
4 - 28.11.17 - 18:01
можно получить байтами, сохранить в файл и прочитать потом. Но сохранять тоже придется компонентом ADOStream, там несколько заморочено.
   freewind_sd
 
5 - 28.11.17 - 20:56
почитай, может сам что то напишешь:
https://ru.wikipedia.org/wiki/Юникод

Читал...может напишу...через n лет...хотелось бы опыт других услышать...думаю не единственный у кого подобная задача была...
все таки можно ли получить не строкой из компоненты?
WinSock.GetData(Буфер,8) - 8 тип строка, другие типы выдают ошибку...хоть  COMSafeArray хоть БуферДвоичныхДанных
   freewind_sd
 
6 - 04.12.17 - 09:15
в 1с недавно.
на текущий момент кроме как преобразованием типа 
если кодсимвола = 1180 тогда переменная=186
по другому решить не удалось, есть опасение что на машине с другой кодировкой может криво работать...
с файлами не пробовал, наверное тоже работать будет...

еще вариант написать свою компоненту (для 7.7 делал), но это как ни будь потом...

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует