将输入转换为字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将输入转换为字符串相关的知识,希望对你有一定的参考价值。
我正在使用https://github.com/cmcqueen/cobs-python中提供的lib来确保我可以通过串行线发送数据。但是,这个lib需要一个字符串作为输入,它可以是任何东西(文本文件,图像等......)。由于我使用的串行线路没有任何特殊功能,因此无需担心触发某些事件的特殊字符。
如果可以的话,我会以原始模式发送图像,因为数据如何传递到另一端并不重要,但我需要使用此lib对其进行编码。
我尝试过以下方法:
data = open('img.jpg', 'wb')
cobs_packet = cobs.encode(''.join(data).encode('utf-8'))
这给了我以下错误:
>>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 0: ordinal not in range(128)
问题是,如果我使用不同的编码类型,数据长度会发生变化,而这种情况不会发生在我正在尝试的事情上。
有没有办法简单地将输入转换为字符串原样?
编辑:我正在使用python版本2.7
答案
我没有测试它有多远,但我找到了一个似乎有效的简单解决方案。通过使用bytes()函数,它以某种方式工作为字符串。我可以像这样将它传递给有问题的lib。
感谢大家的帮助。干杯。
以上是关于将输入转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章
HTML Bookmarklet模板:将任何JavaScript代码片段转换为Bookmarklet