Найти - Пользователи
Полная версия: перекодирование кириллицы в байты
Начало » Python для экспертов » перекодирование кириллицы в байты
1
kristus
Нужно перекодировать строку в массив байтов и передать на сервер!
ввод str выполняется при пом
raw_input(). 
Если символьная строка латиница, то
sock.send(str.encode(a)) 
работает норм.,но как только вводится кириллица - codec cant decode byte
Если
sock.send(b'фыв')
-> работает норм. или же передаваемому параметру присваится значение непосредственно, напр
a = 'фыв'  
> тоже работает.
как введя через
raw_input()
переодировать в byte?!
bismigalis
raw_input возвращает байты, так что sock.send(str)
kristus
Спасибо.Может вопрос не правильно ставлю, но как мне тогда на стороне сервера перекодировать переданный ‘фыв’ , что бы проверить его на совпадение?латиница совпадает
Budulianin
kristus
Спасибо.Может вопрос не правильно ставлю, но как мне тогда на стороне сервера перекодировать переданный ‘фыв’ , что бы проверить его на совпадение?латиница совпадает

'фыва'.decode('cp1251')
kristus
Budulianin
'фыва'.decode('cp1251') —-> UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode(
bismigalis
какие ОСи на серверах?
kristus
делаю просто через localhost маленький примерчик запрос - ответ winxp
client
from socket import *
sock=socket(AF_INET,SOCK_STREAM)
sock.connect(('localhost',1808))
a = raw_input() 
sock.send(a)
data=sock.recv(64)#читаем 64-байтовый блок
sock.close()
————————-
serv

from socket import *
sock=socket(AF_INET,SOCK_STREAM)#создаём сокет TCP/IP(в подробности пока не вдаёмся)
sock.bind(('',1808))       #указываем номер порта, к которому ожидается подключение
sock.listen(2)          #указываем максимальное кол-во ожидающих клиентов
while True:
    connection,address=sock.accept()#принимаем входящее поключение
    data=connection.recv(64)#читаем данные блоками по 64 байта
     
    if data=='фыв':
        data = 'бла-бла'
        connection.send("Привет" + " " + data)#отправляем ответ
    connection.close() 
bismigalis
kristus
winxp
http://habrahabr.ru/post/117236/
kristus
Очередной раз убеждаюсь, что программирование на питоне - одно удовольствие
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