python中not 3_记录-第一个python3的socket编程--not 'str'

看到这个提示之后,确定了这个问题主要是是字符编码的问题了,那如何解决这个字符编码问题,目前想到的办法就是通过encode和decode来做字符编码转换了。服务端进程# cat tcp_server.py

#! /bin/env python3

# -*- coding:utf-8 -*-

'''

Created on 2016年12月19日

@author: CC

'''

import socket

import datetime

HOST='0.0.0.0'

PORT=3434

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.bind((HOST,PORT))

s.listen(1)

while True:

conn,addr=s.accept()

print("Client %s connected!" % str(addr))

dt=datetime.datetime.now()

message="Current time is " + str(dt)

conn.send(message.encode('utf-8'))

print("Sent: ",message)

conn.close()客户端进程# cat tcp_client.py

#! /bin/env python3

# -*- coding:utf-8 -*-

'''

Created on 2016年12月19日

@author: CC

'''

import socket

HOST='127.0.0.1'

PORT=3434

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.connect((HOST,PORT))

print("Connect %s:%d OK" % (HOST,PORT))

data=s.recv(1024)

print("Received: ",data.decode('utf-8'))

s.close()

注:大家可以试试在客户端不加decode的效果啦,如果还有其他方法,还请大家多多解惑呀

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值