python socket接收与发送数据编码

2023-10-29

1、服务器端接收数据

1)向服务器端发送16进制数据:3A 0B  12

 2)服务器端接收数据为:

未转化打印出来为:b':\x0b\x12'  ,格式为字节流   #打打印时3A对应ASCII表中的冒号:。总结为当没有进行转换时,编译器会根据接收到的十六进制的数据对照ASCII表进行转换显示,ASCII表中没有对应字符的,显示实际十六进制,因此不要误认为接收数据出错。

转换:通过将接收到的数据进行16进制转换,即可得到与发送相一致的内容,格式为字符串

 2、服务器端发送数据

1)服务器端发送

服务器端发送数据时,只能以二进制流的形式发送

2)客户端接收(用网络调试助手)

客户端以十六进制接收时:会将接收到的数据以单个字符为一字节,将其转换成ASCII表中对应的十进制进行显示

客户端不以十六进制接收时:会将接收到的以ASCII符号的形式显示

 3)PLC接收数据16进制的数据

3.1)PLC接收转化机制:会将接收到的数据字节流以一个字节为单位将其中的内容看成一个字符,根据ASCII表转换成字符对应的16进制的数据

当服务器发送一个3给PLC时(

conn.send(b"3")

)PLC会将接收到的转换为3在ASCII的16进制值,即将接收到的字节流以单个字符转成对应的16进制显示

 

 3.2)将数据组成字节流发送给PLC

#将列表数据数据组成字节流
def dataSwitch(array_data):
    bytes_data = bytes()
    for i in range(len(array_data)):
        bytes_data += struct.pack('B', array_data[i])
    return bytes_data

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python socket接收与发送数据编码 的相关文章

  • Python Pandas 滚动聚合一列列表

    我有一个简单的数据框 df 和一列列表lists 我想根据以下内容生成一个附加列lists The df好像 import pandas as pd lists 1 1 2 1 2 3 3 2 9 7 9 4 2 7 3 5 create
  • Flask-SocketIO redis 订阅

    我在用着https github com miguelgrinberg Flask SocketIO https github com miguelgrinberg Flask SocketIO实现 WebSocket 服务器 我需要从另一
  • 导入错误:无法导入名称“FFProbe”

    我无法获取ffprobe包 https github com simonh10 ffprobe在 Python 3 6 中工作 我使用 pip 安装它 但是当我输入import ffprobe it says Traceback most
  • docker 容器中的“(pygame parachute)分段错误”

    尝试在 docker 容器中使用 pygame 时出现以下错误 我想从容器中获取显示 Fatal Python error pygame parachute Segmentation Fault 重现 Docker已安装 docker ru
  • 如何在 Pandas Python 中按 id 对行进行排名

    我有一个像这样的数据框 id points1 points2 1 44 53 1 76 34 1 63 66 2 23 34 2 44 56 我想要这样的输出 id points1 points2 points1 rank points2
  • Python Requests 库重定向新 url

    我一直在浏览 Python 请求文档 但看不到我想要实现的任何功能 在我的脚本中我设置allow redirects True 我想知道该页面是否已重定向到其他内容 新的 URL 是什么 例如 如果起始 URL 为 www google c
  • 动态字段取决于 WTForms 的先前字段

    我正在使用 WTForms 制作表格 目前 我有这个 class UploadForm flask wtf Form fichier wtforms fields FileField u Fichier description wtform
  • 会话数据库表清理

    该表是否需要清除或者由 Django 自动处理 Django 不提供自动清除功能 然而 有一个方便的命令可以帮助您手动完成此操作 Django 文档 清除会话存储 https docs djangoproject com en dev to
  • 为什么需要设置WORKON_HOME环境变量?

    我已经有一段时间没有使用 python 虚拟环境了 但我也安装了虚拟环境包装器 我的问题是 在文档页面中它说要这样做 export WORKON HOME Envs mkdir p WORKON HOME source usr local
  • 如何知道python运行脚本的路径?

    sys arg 0 给我 python 脚本 例如 python hello py 返回 sys arg 0 的 hello py 但我需要知道 hello py 位于完整路径中的位置 我怎样才能用Python做到这一点 os path a
  • multiprocessing.Queue 中的 ctx 参数

    我正在尝试使用 multiprocessing Queue 模块中的队列 实施 https docs python org 3 4 library multiprocessing html exchang objects Between p
  • 使用 ElementTree 在 python 中解析 xml

    我对 python 很陌生 我需要解析一些脏的 xml 文件 这些文件需要先清理 我有以下 python 代码 import arff import xml etree ElementTree import re totstring wit
  • Python:导入模块一次然后与多个文件共享

    我有如下文件 file1 py file2 py file3 py 假设这三个都使用 lib7 py lib8 py lib9 py 目前 这三个文件中的每一个都有以下行 import lib7 import lib8 import lib
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 从给定的项目列表创建子列表

    我首先要说的是以下问题不是为了家庭作业目的即使因为我几个月前就完成了软件工程师的工作 无论如何 今天我正在工作 一位朋友向我询问了这个奇怪的排序问题 我有一个包含 1000 行的列表 每行代表一个数字 我想创建 10 个子列表 每个子列表都
  • 用 pandas DataFrame 替换 mysql 数据库表中的行

    Python 版本 2 7 6 熊猫版本 0 17 1 MySQLdb 版本 1 2 5 在我的数据库中 PRODUCT 我有一张桌子 XML FEED 表 XML FEED 很大 数百万条记录 我有一个 pandas DataFrame
  • py2exe ImportError:没有名为 的模块

    我已经实现了一个名为 myUtils 的包 它由文件夹 myUtils 文件 组成 init py 和许多名称为 myUtils 的 py 文件 该包包含在 myOtherProject py 中 当我从 Eclipse 运行它们时可以找到
  • ProcessPoolExecutor 传递多个参数

    ESPN播放器免费 class ESPNPlayerFree def init self player id match id match id team 团队名单1 277906 cA2i150s81HI3qbq1fzi za1Oq5CG
  • Chrome 驱动程序和 Chromium 二进制文件无法在 aws lambda 上运行

    我陷入了一个问题 我需要在 AWS lambda 上做一些抓取工作 所以我按照下面提到的博客及其代码库作为起点 这非常有帮助 并且在运行时环境 Python 3 6 的 AWS lambda 上对我来说工作得很好 https manivan
  • 从 Django 运行 shell 命令

    我正在 Django 中开发一个网页 使用 apache 服务器 需要调用 shell 命令来启用 禁用一些守护进程 我尝试这样做 os system service httpd restart 1 gt HOME out 2 gt HOM

随机推荐

  • 希沃展台如何使用_气化街小学开展希沃触摸一体机使用方法培训

    为进一步推进气化街小学信息化教学 帮助教师熟悉希沃教学触摸一体机设备的使用功能 掌握希沃教学触摸式一体机的基本操作技巧 充分发挥触摸一体机的教学辅助作用 5月29日上午10点 万柏林区气化街小学组织一 二 三年级全体任课老师 在王学光老师的
  • 老生常谈session,cookie的区别,安全性

    老生常谈session cookie的区别 安全性 张映 发表于 2010 07 25 分类目录 php 一 为什么session cookie经常会有人提到 做web开发的人基本上都会用session和cookie 但是仅仅只是会用 并不
  • 《五分钟科普ChatGPT》系列专栏---介绍 ChatGPT未来的发展方向

    VI ChatGPT未来的发展方向 聊天机器人技术的未来发展方向包括以下几个方面 6 1 强化学习和自主学习能力 强化学习是一种让机器代理通过与环境的交互学习并改进自身策略的方法 ChatGPT未来可能会融合强化学习技术 使其能够从与用户的
  • 开放定址法(线性探测),拉链法 -Hash算法

    总结 哈希别名为 Hash 或者 散列表 开放定址法是为了解决hash值碰撞后的处理 哈希表查找 杂凑法 http c biancheng net cpp html 1031 html 查找 http blog csdn net yang
  • 如何在Android Studio中添加RecyclerView-v7支持包

    一直知道RecyclerView可以代替ListView GridView使用 听说功能很强大 但还没有去学习过 今天想学习 没想到还没开始便撞墙了 输入Recycler 只有这两个东西 没有提示RecyclerView 说明支持包中没有
  • git命令合并分支代码

    合并步骤 例 dev分支合并到master分支 1 git checkout master 进入要合并的分支 2 git pull 拉取最新代码 3 git branch a 查看所有分支是否都pull下来了 4 git merge dev
  • Linux性能监控工具sysstat的cron文件

    简单来讲sysstat就是检测系统性能的工具 安装 yum install sysstat 查看生成的相关文件 rpm ql sysstat etc cron d sysstat etc sysconfig sysstat etc sysc
  • 如何使用Linux Top命令

    Linux中的top命令允许您监视当前正在运行的进程及其使用的系统资源 作为系统管理员 它可能是工具箱中最有用的工具 特别是如果您知道如何使用它的话 所有Linux发行版都预装了top实用程序 通过这个交互式命令 您可以自定义如何浏览进程列
  • node 版本管理工具 nvm,node版本升级、降级

    不同项目需要的 nodejs 版本不一致 需要在电脑上安装多个 node 版本 此时知道有一个 nvm 版本管理工具就非常必要了 NVM 下载安装 nvm 安装地址 https github com coreybutler nvm wind
  • 【数据结构】双向链表

    前面我们已经学完了单向链表 知道了单向链表如何进行增删查改等基本功能 而今天 我们将要学习双向链表 目录 1 链表的分类 2 双向链表定义 3 双向链表接口的实现 所有接口函数一览 创建返回链表头节点 初始化链表 双向链表打印 双向链表尾插
  • 在钉钉上怎么手写_钉钉直播上课可以写字吗_钉钉直播写字板功能介绍_玩游戏网...

    钉钉直播上课已经有很多学校在使用了 这个时候就有人问了 能不能在钉钉上用手写字 在学习资料上做笔记 目前发下来钉钉的很多功能 不过关于写字这个功能暂且还没有 那么想要用写字的方式教学要怎么做呢 这就让我们一起来看一看吧 当然了小编也给大家准
  • 第六章 课后习题(P171-P172)

    习题 一 填空题 1 运算符的重载实际上是 函数 的重载 2 运算符函数必须被重载为 非静态成员函数 或被重载为 友元函数 3 成员函数重载运算符需要的参数的个数总比它的操作数 少 一个 4 重载赋值运算符时 通常返回调用该运算符的 对象的
  • VScode SSH远程登陆到服务器阅读代码

    1 背景介绍 在工作中经常使用ssh远程访问服务阅读代码 但是通过ssh远程访问后没有图形界面 阅读代码非常不方便 本文向大家介绍使用VScode通过ssh远程登陆到服务器 本地可视化阅读查看服务器的代码文件 2 安装VS Code Vis
  • springboot打包成maven仓库中的sdk

    springboot打包成maven仓库中的sdk 首先将pom文件中的关于该项目继承springboot父项目的依赖去除 再去除一些不相干的依赖 插件也去除 在新项目中导入这个jar sdk 需要新建一个配置类 使用注解扫描这个jar中的
  • 记 ==> 首次使用rabbitMQ优化项目

    昨天刚学习完了rabbitMQ 刚好我的项目有个模块挺符合使用rabbitMQ进行异步处理的 这个模块大概功能是 用户发送的所有帖子都会添加到他的发件箱 当有个新用户关注了他 他发件箱内所有的博客都会被添加到关注他的用户的收件箱里 比如 A
  • CUDA基础介绍

    一 GPU简介 1985年8月20日ATi公司成立 同年10月ATi使用ASIC技术开发出了第一款图形芯片和图形卡 1992年4月ATi发布了Mach32图形卡集成了图形加速功能 1998年4月ATi被IDC评选为图形芯片工业的市场领导者
  • vs2010使用VLD,

    在VS2010项目总使用VLD visual leak detector 进行内存泄露检测 调试时程序无法启动报错 应用程序正常启动失败 0xc0150002 产生原因 VC2003 VC2005 VC2008及其后续版本 对底层最基本的C
  • C语言学习笔记(四)

    1 在编译使用了strcpy scanf等不安全的函数 而报警告和错误 而导致无法编译通过 此时我们有两种解决方案 a 在指定的源文件的开头定义 define CRT SECURE NO WARNINGS 只会在该文件里起作用 b 在项目属
  • 成功解决 git设置http代理 https代理 取消代理

    welcome to my blog 问题 使用hexo搭建博客 执行hexo init时包含git clone的操作 但是使用的是https协议 不是ssh 所以为git设置https代理 但是只设置https代理并不能加速 与此同时 只
  • python socket接收与发送数据编码

    1 服务器端接收数据 1 向服务器端发送16进制数据 3A 0B 12 2 服务器端接收数据为 未转化打印出来为 b x0b x12 格式为字节流 打打印时3A对应ASCII表中的冒号 总结为当没有进行转换时 编译器会根据接收到的十六进制的