Найти - Пользователи
Полная версия: Отображение кириллицы из программы Python в чате Minecraft.
Начало » Python для новичков » Отображение кириллицы из программы Python в чате Minecraft.
1 2
VictorDO
Здравствуйте. Начал изучать Python по книге “
Программируем с Minecraft. Создай свой мир с помощью Python” Крейга Ричардсона. Имеем файл:

 # Постим в чат сообщение
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
# Задаём сообщение
words = "Привет, мир Minecraft!"
# Выводим сообщение в чат
mc.postToChat(words)

В чате появляется вот это:
Подскажите, пожалуйста, это можно исправить?
doza_and
похоже на проблему с кодировками.

чтобы что-то вам советовать надо знать версию питона (2 или 3). и иметь документацию о postToChat которую можно получить help(mc.postToChat)
VictorDO
doza_and
похоже на проблему с кодировками.чтобы что-то вам советовать надо знать версию питона (2 или 3). и иметь документацию о postToChat которую можно получить help(mc.postToChat)
Питон 3. Документацию посмотрю, как до компа доберусь. Спасибо.
AD0DE412
.
VictorDO
AD0DE412
.
Исправил
VictorDO
doza_and
похоже на проблему с кодировками.чтобы что-то вам советовать надо знать версию питона (2 или 3). и иметь документацию о postToChat которую можно получить help(mc.postToChat)
Питон 3, а help(mc.postToChat) выдало вот это:
Никаких подробностей…

Сервер CraftBukkit version git-Spigot-800b93f-8160e29 (MC: 1.15.2) и Minecraft, соответственно, 1.15.2, если это поможет.
FishHook
VictorDO
Посмотрите в код!

https://github.com/martinohanlon/mcpi/blob/master/mcpi/connection.py

     def send(self, f, *data):
        """
        Sends data. Note that a trailing newline '\n' is added here
        The protocol uses CP437 encoding - https://en.wikipedia.org/wiki/Code_page_437
        which is mildly distressing as it can't encode all of Unicode.
        """
        s = b"".join([f, b"(", flatten_parameters_to_bytestring(data), b")", b"\n"])
        self._send(s)
То есть юникод вы использовать никак не сможете
VictorDO
FishHook
VictorDOПосмотрите в код!https://github.com/martinohanlon/mcpi/blob/master/mcpi/connection.py
Да уж… “Для человека, не знакомого с физикой, мир полон чудес и магии” Так же и я в программировании
Получается, что проблема в API? Или в самом языке? И что с этим делать? Использовать СР437?
Не кидайте тапками, плиз. Я понимаю, что вопросы “детские”.
AD0DE412
https://ru.m.wikipedia.org/wiki/CP437
FishHook
VictorDO
Эта кодировка вообще не предусматривает кириллических букв, это очень древняя таблица символов кодирующаяся одним байтом, то есть весь алфавит 256 символов. Вы не сможете писать текст на русском языке.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB