我有一个关于可见光通信的项目。我需要获取用户输入(例如句子),并将此句子转换为二进制值,以便我可以打开-关闭LED。
到目前为止,我成功地传输了数据,但我在如何将此字符串转换为二进制方面遇到了问题。
我想出的一个想法是将这个字符串转换为具有1和0的一维数组。数组中的每个8个二进制元素代表ascii等式。然而,我无法完成这项任务。
如果你们能给我另一种方法来完成这项工作,那会非常有价值的。
我相信有更好的方法来做这件事,但是到目前为止我还没有找到。
发布于 2015-03-20 19:17:37
如果文本只有A-Z和a-z,即没有任何特殊字符,如空格、句点、逗号、$&()@等,则可以使用自己的编码进行编码,例如A=0 B=1 ...a= 26...Z= 51。这样做,您将需要6位来表示每个字符。
另一方面,您可以使用更高级的算法(如Huffman coding )对每个字符进行编码。
但是,如果您在传输ASCII表示时遇到问题,那么这两个选项也会有问题。我会说坚持使用ASCII编码,直到你有更充分的理由尝试其他东西。
https://stackoverflow.com/questions/29160242
复制相似问题