前提・実現したいこと
Aという送信機、Bという受信機があるとして、
Aにおいて生成した
「11921002」などの数字(ASCII)を2進数にして、(101101011110011001101010)
これを8bit区切りでバイト文字列にして(00000101 1010111 1001100 1101010)
ASCIIに戻して、(0x05 0x57 0x4C 0x6A ですかね?) 8byteを4byteに縮め
Aから受信したBでは
受け取ったデータ(0x05 0x57 0x4C 0x6A)を2進数に戻して(00000101 1010111 1001100 1101010)
これを連結して(101101011110011001101010)、10進数に戻す(11921002)
というロジックを組もうかと考えていますが、
まずこの考え方におかしなところはないでしょうか?
次に、A側をC、B側をPython|PHP(描きやすい方)で記述しようと考えております。
これを行う方法として、実際の実装方法や、ライブラリをご存知であれば教えてください。
また、個人的に探していましたがCにて2進数(文字列)を16進に変換する関数を見つけきれなかったので
特にこれをご存知の方がおられたら教えてください。
該当のソースコード
https://algorithm.joho.info/programming/c-decimal-binary/
のint2binのfor(i=31)
をfor(i=7)
https://edu.clipper.co.jp/pg-2-42.html
のfor部分を%8
にして8文字区切りとして、
2進数(文字列)を16進に変換する関数を見つけ切れませんでしたが、これを行って
strcat
などで16進数(char)を一文字ずつ送信メッセージに追記
完成したメッセージを送信
受信したらメッセージを1文字ずつ16進数->2進数に変換し
変換し終わった2進数(文字列)を結合、
結合した2進数をPythonならfromBinaryToInt
、PHPならbindec
でデコード
というソース・フローで実現可能かなと思っています。
勝手に引用していいものか判断しかねたので、詳細はお手数をおかけしますがURL先でお願いします。
回答2件
あなたの回答
tips
プレビュー