0x00の罠
開発した「Communication Bridge」をRFID班に譲渡したのだが、なぜか送信した文字数より短い文字列しかブリッジしてくれない。見てみると、0x00が送信バッファの中に含まれていた。
ブリッジする過程でバイナリをCStringに変換しているので、0x00を文字列の終端記号と認識し、それ以降を無視してしまっていたようだ。CStringで受け渡すのはやめて、CByteArrayを使うことにした。
ただしテキスト形式で文字列を表示する部分だけは、何かに置き換えないとどうにもならずnull文字を表現するために、どの文字を代わりに使えばいいものか……。
引き続き家に帰った後も開発を続けようと思ったのだが、ノートPC上に写したデータを間違って自宅のVisual SourceSafeからチェックアウトしてしまったので、全部消えてしまいました。
明日もう一度大学にいって取ってこなければ。