私はC#が初めてで、シリアルポートからバイトを受け取り、バイトを解析するアプリケーションを構築しました。バイト配列をC#の文字列に変換する
1つのシナリオでは、アプリケーションは文字列を表すバイトの配列を受け取ります。私の考えは、バイトを文字列に変換することです。広告は文字列をテキストボックスに視覚化します。私は、文字列を取得するが、問題がある
textSerialNumber.Text = Encoding.UTF8.GetString(readData.payload, 0, readData.payload.Length);
:このコードで
最初のバイトのシリアルポートで受信が(それがACKを表す)は0x00です。ペイロード(ack +文字列)を変換すると、最初の文字はNULLになり、テキストボックスの割り当ては失敗します。
私はバイト配列の最初の要素を形成開始するためにコードを変更する場合:この場合も
textSerialNumber.Text = Encoding.UTF8.GetString(readData.payload, 1, readData.payload.Length);
をテキストボックスの割り当てが失敗しました。
string x = Encoding.UTF8.GetString(readData.payload, 1, readData.payload.Length);
をしかし、また、エンコードが失敗したこのケースをint型:
私は、テキストボックスの割り当てをスキップしてみてください。
エラーを見つけようとするメッセージがありますか?
ありがとうございます。
try 'string base64 = Convert.ToBase64String(readData);' – mmushtaq
「失敗する」とはどういう意味ですか? – JeffRSon
Failsは、代入プロシージャが失敗し、コードがcatchステートメントに達することを意味します。 – Federico