c - 在 python3.x 中使用什么从控制台获取非 ascii 值
问题描述
我正在尝试形成一个管道,用 C 编写的程序在其中给出连续输出write()
。该数据流应被 python 脚本接受并进一步处理。
通过使用input()
(python 3.x),我能够在 C 编写的源程序使用 发出数据时捕获数据printf()
,无论如何为了加快速度,我改为write()
控制台。
这就是问题开始的地方:从现在开始,我无法使用 python 脚本获取数据,因为input()
不想接受非 ascii 值。我知道,write()
给出二进制数据而不是字符串。
- python有没有其他方法可以接受来自外部的数据,最好是来自控制台,其中数据包含非ascii值(最好是二进制输入)?
我试图修改 C 程序以形成一个 ascii 字符串。字符数组加上终止零(也:以零结尾的字符串,带有 CR 和 LF+CR),无论如何,python 似乎在终止零之后进一步阅读,然后给出UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 130: invalid continuation byte
错误,其中发送的字符串长度为 4 个字符(C - 数组:[ 99, 0, 10, 13] 相当于 'c' 以零结尾和 LF 和 CR)。
所以 - 尝试实施其他解决方案 - 问题 2. 是否有可能限制input()
python 从控制台获取未知数据部分并引发错误之前的长度?
解决方案
推荐阅读
- javascript - 页面加载时如何从使用jquery动态生成的复选框组中检索值
- spring-boot - 使用 Swagger 记录自定义 API 响应
- javascript - 将元素添加到 Uint8ClampedArray 类型数组的快速方法
- r - rshiny 渲染时间滑块或选择器
- html - 响应式 SVG - 视口内在尺寸
- powershell - 如何使用powershell获取具有特定数据存储已用空间25%以上的vmware vm列表?
- python - 努力理解 tkinter 多类
- python - 当我通过键盘中断停止时,脚本 python 无法关闭与 mysqldb 的连接
- javascript - 使用异步函数调用在网格中渲染列
- reactjs - 使用 AsyncCreatableSelect 时如何解决 selectOptions.some 不是函数?