将用户输入(字符串)转换为二进制数组以通过LED传输?

时间:2015-03-20 05:53:32

标签: arduino

我有一个关于可见光通信的项目。我需要获得用户输入(例如句子)并将此句子转换为二进制值,以便我可以打开LED的开关。

到目前为止,我设法传输数据,但我遇到了如何将此字符串转换为二进制文件的问题。

我提出的一个想法是将此字符串转换为1D和0的1D数组。数组中的每个8二进制元素代表ascii equvialant。但是我无法完成这项任务。

如果你们给我另一种方法来完成这项工作,那么它会受到极大的关注。

我确定有更好的方法可以做到这一点,但到目前为止我找不到它。

1 个答案:

答案 0 :(得分:0)

如果文本只是A-Z和a-z,即没有任何特殊字符,如空格,句号,逗号,$&()@等,那么你可以使用自己的编码对它们进行编码,例如: A = 0 B = 1 .... a = 26 ... z = 51.这样做,你需要6位代表每个字符。

另一方面,您可以使用更高级的算法(如Huffman coding)对每个字符进行编码。

但是,如果您在传输ASCII表示时遇到问题,那么这两个选项就会出现问题。我会说坚持使用ASCII编码,直到你有更强的理由尝试别的东西。