Здравствуйте, Аноним, Вы писали:
А>На питоне никогда не кодил, но тем не менее возникла задача переслать через сокеты юникодную строку.
А>Если поступить с ней как с простой строкой, то отправляется только первый байт кодирующий каждый символ:
А>sock.connect((HOST, PORT))
А>sock.send(unicode('привет мир'))
А>Соответственно хочется представить эту строку в виде массива байт и пропихнуть уже его, но нигде не могу найти как выполнить такое преобразование.
А>Использовать перекодирование юникода в ascii, к глубочайшему сожалению нельзя, так как там могут быть символы из разных codepage-й.
А>Заранее благодарю за дельный ответ.
для представления в виде массива байт есть struct:
import struct
...
st = Struct('=8s')
data = st.pack('01234567')
sock.sendall(data)
но имхо надо просто разобраться в чём проблема с передачей юникодта..