シリアルからのデータがあります。データは次のとおりです。7 5 16 0 242 48 44 10 109これらの文字列をC#で10進数に変換する方法は?
これらのデータは文字列形式で送信されます。
文字列を10進値に再変換する必要があります。 値が242のデータは63として読み込まれます。 また、128〜255のデータは10進値に正しく変換されません。
私が使用します。
byte[] bytes = Encoding.GetEncoding("Windows-1252").GetBytes(rxString);
とも:
byte[] bytes = System.Text.Encoding.GetEncoding("iso-8859-1").GetBytes(rxString);
byte[] bytes = Encoding.ASCII.GetBytes(rxString)
すべてが機能していません。私を助けてください。
'decimal'ではなく' int'を意味しますか?それらはすべて私にとってint値のように見えます。 – itsme86
これらは文字列の実際のバイト値ですか?もしそうなら、私はエンコーディングをする必要はないと思う。しかし、例のないデータを伝えるのは難しいでしょう。 – juharr
@kayarista、あなたはこれに対する答えを見つけましたか?受け取った文字列の各文字を対応するバイト値(以下の提案された回答に基づいてあなたのコメントに基づいていると思われる)に変換する方法を尋ねる場合は、キャストするだけでこれを簡単に達成できます文字列内の各文字をバイトに変換します: 'var byteValues = rxString.ToCharArray()。(c =>(byte)c).ToArray();'。 – wablab