Я планирую разработать клиентское приложение на базе Windows и приложение агностического сервера платформы. Клиентское приложение в основном отправляет сообщения серверному приложению. Клиентское приложение может отправлять сообщения на английском или других языках. Должен ли я использовать UNICODE для кодирования сообщений в моем клиентском приложении? Какова общая практика среди приложений, связанных с сетевой связью? В моем клиентском и серверном приложении будет использоваться специальный протокол для обмена сообщениями через TCP/IP. Какое кодирование UNICODE поддерживает Windows и UNIX по умолчанию? Должен ли я менять тип кодирования в моем протоколе и для декодирования сообщений UNICODE? Пожалуйста, порекомендуйте.Юникод и сетевая связь
ответ
Ищите UTF-8, кодирование Юникода в 8 бит байт для английского и западного языков.
Всегда рекомендуется обменять тип кодирования, если вы на более позднем этапе хотите поддержать что-то еще.
UTF-8 поддерживается всеми основными ОС и компьютерами.
Если вы контролируете как сервер, так и клиент, я бы выбрал 1 тип кодировки и придерживался его.
Я бы предложил UTF-8 (наиболее эффективный для английского и западного языков) или UTF-16 (обязательно выберите порядок байтов).
Вы можете использовать любую кодировку, которую хотите, вам просто нужно быть осторожным с вещами, такими как порядок байтов. Windows внутренне использует UTF-16 (little-endian), поэтому, если вы ожидаете, что большинство систем будут Windows, тогда вам, вероятно, стоит пойти на это. В противном случае я бы рекомендовал UTF-8, у которого нет проблем с байтовым порядком, о которых нужно беспокоиться.
Если вы идете с UTF-16 (или UTF-32, который я определенно хотел бы не рекомендовать), укажите в недвусмысленных выражениях, какова конечность данных на проводе. Затем для каждого клиента, который читает или записывает символ Unicode в сетевой сокет, преобразует его из собственной энтузиачности платформы в сетевую endianness - это либо не-операция, либо байтовый обмен.
- 1. Сетевая связь между серверными процессами
- 2. Сетевая связь TCP [Code Design]
- 3. Сетевая связь с использованием jabber
- 4. Возможна ли синхронная сетевая связь на C
- 5. Сетевая связь с режимом Windows 7 XP
- 6. Сетевая связь через две частные сети
- 7. Сетевая связь между несколькими машинами VirtualBox
- 8. Ручка Amazon SQS (Android) прерывистая сетевая связь
- 9. Сетевая связь Python с шифрованием и защитой паролем
- 10. Azure сетевая связь между экземплярами одной и той же роли
- 11. Сетевая связь между сокетом Java (сервер) и сокером C++ (клиент)
- 12. Сетевая связь между экземплярами Amazon EC2 и Amazon S3
- 13. Сетевая сетевая проблема сети GSM
- 14. Mysql и сетевая латентность
- 15. SqlDataReader и сетевая латентность
- 16. Сетевая кластеризация и питон
- 17. Python - преобразовать юникод и шестигранник в юникод
- 18. Сетевая связь без централизованного хоста. Является ли это возможным?
- 19. Сетевая связь - некоторая информация не доходит до сервера
- 20. Сетевая связь между экземпляром Google для внутренней сети
- 21. Как работает сетевая связь между двумя контейнерами Docker?
- 22. Netty: сетевая сетевая сеть на основе URI
- 23. Плавающие ячейки и сетевая система
- 24. драйвер usbnet и сетевая подсистема
- 25. Узел OpenMPI и сетевая топология
- 26. Http Post и сетевая задержка
- 27. Словари и Юникод
- 28. Юникод и переопределение «__str__»
- 29. MySQL и юникод символы
- 30. Сетевая статистика
Действительно. Вне Windows UTF-8 - это * кодировка Unicode для использования. – 2008-11-13 05:37:01