3 python3 编码解码问题 upd接受数据
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接受数据的更多相关文章
- Python3编码解码url
python2和python3对于url的解码和编码 某天做爬虫时遇到一个post请求的参数是编码过的字符串如下,看不懂,初步判断可能是url编码 str = "%7B%22Shopping ...
- python3 编码解码
字符换算 比特(bit) 计算机最小的存储单位 字节(byte) 1 bit = 1 位 8 bit = 1 byte 1024 bytes = 1 kb 1024 kb = 1 mb 1024 mb ...
- python摸爬滚打之day06----小数据池、编码解码
1.小数据池 代码块: 一个模块, 一个函数, 一个类, 甚至每一个command命令都是一个代码块. 一个文件也是一个代码块.而不需要创建一个新的数据. 这样会节省更多的内存区域. 在cmd命令行 ...
- Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net
Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net 1. Base64编码, 1 1.1. 子模式 urlsafe Or url ...
- 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 ...
- Python3的URL编码解码
前言 博主最近在用python3练习一些爬虫脚本的时候,发现一些url的编码问题,在浏览器提交请求api时,如果url中包含汉子,就会被自动编码掉.呈现的结果是 ==> %xx%xx%xx.如果 ...
- java中文乱码解决之道(六)-----javaWeb中的编码解码
在上篇博客中LZ介绍了前面两种场景(IO.内存)中的java编码解码操作,其实在这两种场景中我们只需要在编码解码过程中设置正确的编码解码方式一般而言是不会出现乱码的.对于我们从事java开发的人而言, ...
- java中文乱码解决之道(六)—–javaWeb中的编码解码
在上篇博客中LZ介绍了前面两种场景(IO.内存)中的java编码解码操作,其实在这两种场景中我们只需要在编码解码过程中设置正确的编码解码方式一般而言是不会出现乱码的.对于我们从事java开发的人而言, ...
- day2_python的数据类型,sys,os模块,编码解码,列表,字典
今天主要了解了python的数据类型,sys,os模块,编码解码,列表,字典 1.数据类型:int(python3没有长整型)文本总是Unicode,str表示二进制用byte类表示布尔型:True( ...
随机推荐
- (转)C++类库开发之导出类设计原则
上一篇博客详细陈述了类库开发的各个知识点(http://blog.csdn.net/z702143700/article/details/45989993),本文将进一步陈述,对于类库开发过程中导出类 ...
- 2.Swift教程翻译系列——Swift概览
英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 依照传统学习程序语言都是从hello,world開始,在Swfit里面仅仅须要一 ...
- ASP.NET Web API 自定义MediaType实现jsonp跨域调用
代码来自<ASP.NET Web API 2 框架揭秘>一书. 直接上代码: /// <summary> /// 自定义jsonp MediaType /// </sum ...
- XCode插件因为升级不能用了怎么办?几个步骤教你搞定
之前XCode安装了自动注释的插件 VVDomenter.升级之后不能使用了怎么办?跟着我做吧. 1.打开xcode插件所在的目录:~/library/Application Support/Deve ...
- 获取input的值
一.jQuery获取单选框的值1.$('input:radio:checked').val():2.$("input[type='radio']:checked").val();3 ...
- Spring Boot 推荐的基础 POM 文件
名称 说明 spring-boot-starter 核心 POM,包含自动配置支持.日志库和对 YAML 配置文件的支持. spring-boot-starter-amqp 通过 spring-rab ...
- Python-Url编码和解码
一.为什么要进行Url编码 url带参数的请求格式为(举例): http://www.baidu.com/s?k1=v1&k2=v2 当请求数据为字典data = {k1:v1, k2:v2} ...
- 【luogu P3371 单源最短路】 模板 vector+SPFA
stl真是好,,偷懒少写邻接表,, 两个STL应用使代码简短了很多.然而还是那句话,天上不会掉馅饼,程序的效率还是有所下降的.然而,效率不是全部,人们宁可牺牲三倍效率用Java而不用C语言就是最好的例 ...
- if switch for while
---恢复内容开始--- 一.if 说明:判断表达式,看结果执行语句体 public class IfDemo2 { public static void main(Strin ...
- 关于math.random()的问题
今天在写一个关于随机数的小程序时,在程序执行时,发现随机数不能执行随机,随机结果始终为1. 下面贴上一开始错误的代码 int i = (int)Math.random()*3+1; 无论运行多少次,结 ...