【问题标题】:Convert an input to string将输入转换为字符串
【发布时间】:2018-01-04 00:30:34
【问题描述】:

我正在使用https://github.com/cmcqueen/cobs-python 中提供的库来确保我可以通过串行线路发送数据。 然而,这个库需要一个字符串作为输入,它可以是任何东西(文本文件、图像等)。由于我使用的是没有任何特殊功能的串行线,因此无需担心特殊字符会触发某些事件。

如果可以的话,我会以原始模式发送图像,因为数据如何传递到另一端并不重要,但我需要使用这个库对其进行编码。

我尝试了以下方法:

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 版

【问题讨论】:

标签: python string encoding character-encoding encode


【解决方案1】:

我没有测试这在多大程度上是有效的,但我找到了一个似乎有效的简单解决方案。通过使用 bytes() 函数,它以某种方式作为字符串工作。我可以像这样将它传递给有问题的库。

感谢大家的帮助。干杯。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-06
    • 2023-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多