作者blc (Anemos)
看板Python
标题Re: [问题] 用socket的recv()接收中文…
时间Thu Feb 5 15:27:46 2009
让server print接收到的字串:
unicode terminal:
telnet client输入"文",server收到'\xe6\x96\x87\r\n' (正常)
telnet client输入"可",server收到'\xe5\xff\xf5\xff\xfd\x06\xaf\r\n'
'\xff\xfb\x06'
没打错,server是收到两行字…
big5 terminal:
telnet client输入"文",server收到'\xa4\xe5\r\n' (正常)
telnet client输入"可",server收到'\xa5i\r\n' (正常)
pcmanx utf8:
telnet client输入"文",server收到'\xe6\x96\x87'
telnet client输入"可",server收到'\xe5\x8f\xaf'
pcmanx big5:
telnet client输入"文",server收到'\xa4\xe5'
telnet client输入"可",server收到'\xa5i'
pcmanx不会等按enter就会送字了,所以不会收到换行符号。
用了str.decode('utf8')的话,遇到中文就挂…
对了,是用python 2.5.2,debian的。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.137.32.135
1F:推 StubbornLin:你传送的时候有 str.encode('utf8')吗? 02/05 15:45
2F:→ StubbornLin:没有的话会挂是很正常= = 02/05 15:45