1.python3下的中文乱码:send_data.encode("utf-8")

from socket import *
udp_socket = socket(AF_INET, SOCK_DGRAM) dest_ip = input("请输入目的ip:")
dest_port = int(input("请输入目的port:"))
send_data = input("请输入要发送的数据:") udp_socket.sendto(send_data.encode("utf-8"),("192.168.123.1",dest_port))
python@ubuntu:~/python06/07-网络编程$ python3 06-python3编码问题.py 请输入目的ip:192.168.123.1
请输入目的port:8080
请输入要发送的数据:hello 你好

2.软件是gb2312编码格式的   send_data.encode("gb2312")

from socket import *
udp_socket = socket(AF_INET, SOCK_DGRAM) dest_ip = input("请输入目的ip:")
dest_port = int(input("请输入目的port:"))
send_data = input("请输入要发送的数据:") #udp_socket.sendto(send_data.encode("utf-8"),("192.168.123.1",dest_port))
udp_socket.sendto(send_data.encode("gb2312"),("192.168.123.1",dest_port))

3.元组解包,upd接受数据

In [2]: a = (111,222)

In [3]: b,c = a

In [4]: b
Out[4]: 111 In [5]: c
Out[5]: 222
from socket import *

updSocket = socket(AF_INET,SOCK_DGRAM)
updSocket.bind(("",7789)) recvData = updSocket.recvfrom(1024) content,destInfo = recvData
print(recvData)
print("content is %s"%content)
print("content is %s"%content.decode("gb2312"))

    

    

##等待接受数据
python@ubuntu:~/python06/07-网络编程$ python3 07-python3解码问题.py ('192.168.123.1', 8080)
content is b'hello world'
content is hello world ##等待接受数据
python@ubuntu:~/python06/07-网络编程$ python3 07-python3解码问题.py
(b'\xc4\xe3\xba\xc3\xa3\xac\xb2\xcb\xc4\xf1', ('192.168.123.1', 8080))
content is b'\xc4\xe3\xba\xc3\xa3\xac\xb2\xcb\xc4\xf1'
content is 你好,菜鸟

4.编码encode  解码decode

##对于要发送的数据,编码
sendData = "" udpSocket.sendto(sendData.encode("utf-8")) #对于接受来的数据,要进行解码
recvData = xxx.recvfrom(1024)
a,b = recvData
#a = recvData[0] recvData[0].decode("gb2312")

5.例子

    

In [10]: n = "你好"

In [11]: n.encode("gb2312")
Out[11]: b'\xc4\xe3\xba\xc3' In [12]: b = n.encode("gb2312") In [13]: n
Out[13]: '你好' In [14]: b
Out[14]: b'\xc4\xe3\xba\xc3' In [15]: b.decode() ---------------------------------------------------------------------------
UnicodeDecodeError Traceback (most recent call In [16]: b.decode("utf-8")
---------------------------------------------------------------------------
UnicodeDecodeError Traceback (most recent call In [17]: b.decode("gb2312")
Out[17]: '你好'

3 python3 编码解码问题 upd接受数据的更多相关文章

  1. Python3编码解码url

    python2和python3对于url的解码和编码 某天做爬虫时遇到一个post请求的参数是编码过的字符串如下,看不懂,初步判断可能是url编码 str = "%7B%22Shopping ...

  2. python3 编码解码

    字符换算 比特(bit) 计算机最小的存储单位 字节(byte) 1 bit = 1 位 8 bit = 1 byte 1024 bytes = 1 kb 1024 kb = 1 mb 1024 mb ...

  3. python摸爬滚打之day06----小数据池、编码解码

    1.小数据池 代码块:  一个模块, 一个函数, 一个类, 甚至每一个command命令都是一个代码块. 一个文件也是一个代码块.而不需要创建一个新的数据. 这样会节省更多的内存区域. 在cmd命令行 ...

  4. Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net

    Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net 1. Base64编码, 1 1.1. 子模式 urlsafe Or  url  ...

  5. Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net

    Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net 1. Base64编码,1 1.1. 子模式 urlsafe Or  url u ...

  6. Python3的URL编码解码

    前言 博主最近在用python3练习一些爬虫脚本的时候,发现一些url的编码问题,在浏览器提交请求api时,如果url中包含汉子,就会被自动编码掉.呈现的结果是 ==> %xx%xx%xx.如果 ...

  7. java中文乱码解决之道(六)-----javaWeb中的编码解码

    在上篇博客中LZ介绍了前面两种场景(IO.内存)中的java编码解码操作,其实在这两种场景中我们只需要在编码解码过程中设置正确的编码解码方式一般而言是不会出现乱码的.对于我们从事java开发的人而言, ...

  8. java中文乱码解决之道(六)—–javaWeb中的编码解码

    在上篇博客中LZ介绍了前面两种场景(IO.内存)中的java编码解码操作,其实在这两种场景中我们只需要在编码解码过程中设置正确的编码解码方式一般而言是不会出现乱码的.对于我们从事java开发的人而言, ...

  9. day2_python的数据类型,sys,os模块,编码解码,列表,字典

    今天主要了解了python的数据类型,sys,os模块,编码解码,列表,字典 1.数据类型:int(python3没有长整型)文本总是Unicode,str表示二进制用byte类表示布尔型:True( ...

随机推荐

  1. 了解git /github

    一 GIT是什么? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.Git ...

  2. Andriod ADB Interface驱动安装失败Configure USB Debug for Android

    介绍: Linux或Apple或OS X ,已经安装了USB驱动调试为Android的帮助,确认您的Android USB调试连接配置和正常工作. Windows下需要自己手动下载驱动安装或者通过下载 ...

  3. 动态规划(DP),最长递增子序列(LIS)

    题目链接:http://poj.org/problem?id=2533 解题报告: 状态转移方程: dp[i]表示以a[i]为结尾的LIS长度 状态转移方程: dp[0]=1; dp[i]=max(d ...

  4. JZ2440学习笔记之通过J-Link单步裸机程序(Keil+J-Link)

    我们还是使用JZ2440学习笔记之第一个裸机程序(Keil-MDK)里面的程序,但是把延时拿掉,要不然单步的时候一直在delay里面: int main(void) { // Set GPF4/5/6 ...

  5. 生成二维码、微信自定义分享到朋友圈、ipa不从应用商店安装

    生成二维码网址:http://www.liantu.com/ 微信自定义分享到朋友圈:http://www.cnblogs.com/memor-y/p/6728179.html ipa不从应用商店安装 ...

  6. 【luogu P3950 部落冲突】 题解

    题目连接:https://www.luogu.org/problemnew/show/P3950 1.像我这种学数据结构学傻了的 2.边权化点权 所有点权初始化0 3.对于战争 将深度较深的-1,对于 ...

  7. centos 安装配置 rabbitmq 以及nginx转发

    安装erlang cd /tmp wget http://erlang.org/download/otp_src_18.3.tar.gz . cd /opt/otp_src_18. yum -y in ...

  8. 用c#语言编写1000以内能整除3的数字

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  9. Docker官方文档翻译2

    转载请标明出处: https://blog.csdn.net/forezp/article/details/80158062 本文出自方志朋的博客 容器 准备工作 安装Docker,版本为1.13或者 ...

  10. c#数据库连接池

    因为使用习惯的问题,我封装了一个数据库连接池Hikari,这是我自定义的数据库连接池.因为c#的连接池按照规范的ADO.NET里面实现定义的,由数据库官方提供,但是实现方式就不知道了,反正没有看出来, ...