Если Вы собираетесь быть зданием сообщения SOAP, проверяете soaplib. Это использует ElementTree под капотом, но это обеспечивает намного более чистый интерфейс для сериализации и десериализации сообщений.
Проблема в том, что мне нужно заставить терминал переключиться на шрифт с расширенным набором символов Юникода. Есть ли кроссплатформенный способ сделать это? есть ли даже способ сделать это для Windows?
Я искал это, но не смог найти для этого вызова Windows API (что, конечно, может означать, что я его не нашел). Я не ожидал найти кросс-платформенный способ сделать это.
Лучшее решение, которое я могу придумать, - это запустить консоль с помощью специально созданного файла Shell Link (.LNK). Если вы прочитаете документацию по формату файлов , то увидите, что она позволяет вам указать шрифт.
Но ваши проблемы на этом не заканчиваются. Установка Windows в западном региональном стандарте предоставляет Lucida Console , но этот шрифт предоставляет только ограниченное подмножество графем. Я предполагаю, что вы можете выводить / вводить японский текст в консоли на японском ПК с Windows. Вам нужно будет проверить, что доступно в японской Windows, если вы хотите быть уверены, что это будет работать там.
Linux (по крайней мере, Ubuntu), похоже, имеет здесь гораздо лучшую поддержку, используя UTF-8 и предоставляя шрифт с широкой графемой. Я не проверял другие дистрибутивы, чтобы узнать, в чем заключается история, и не проверял, как шрифты разрешаются в терминале (будь то X-вещь, Gnome или что-то еще).
В принципе, на консоли поддерживаются все символы Юникода. Тот факт, что вы видите вопросительные знаки, вероятно, связан с поддержкой шрифтов для этих символов. Попробуйте переключить шрифт консоли на какой-нибудь с очень хорошей поддержкой Unicode.
Вам необходимо правильно установить кодовую страницу. Здесь есть довольно хорошая статья: ссылка