- - PR -
16進FFFF形式をバイト配列に代入できない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-10-07 19:22
こんにちは
今まで Dim b(1) As Byte b(0) = &H4S b(1) = &H2DS とバイト型の変数にコードから直接代入していたのを 4桁の16進文字列を"042D"という形で受け取ってバイト型に変換しようと思ったのですが、試行錯誤して混乱状態です。 Convert.ToInt32やBitConverter.GetBytesを使うのでは?と思ったのですが、バイト型に変換が理解できてなく難しいです。教えてください。。 | ||||
|
投稿日時: 2004-10-07 20:58
Val 関数のヘルプには以下のようなサンプルがあります。
次のコードでは、Val 関数は 16 進数の値を 10 進数の -1 にして返します。 Val("&HFFFF") b(0) = Val("&H04") b(1) = Val("&H2D") でいいのではないでしょうか。 もちろん実装する時には string 変数に "&H04" を入れればいいと思います。 _________________ えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12 えムナウのプログラミングのページ Blog1 Blog2 | ||||
|
投稿日時: 2004-10-09 07:29
受取る文字列が区切りなしのバイトコードなので一気にバイト配列に代入させることはできないのですね。
SUBSTRINGで区切って1バイトずつ区切ってから、数値に変換してあげてバイト型に代入しました。 i=ToInt32("04",16) b(0) = CByte(i)
|
1