C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.87149 の関連記事表示

<< 0 >>
■87149  Re[1]: Byte配列→文字列→Byte配列の方法策
□投稿者/ 魔界の仮面弁士 -(2018/04/16(Mon) 16:50:37)
    No87146 (io さん) に返信
    > これを一旦文字列配列に直します
    > 01,10 20 11 15 FF
    > 02,10 20 ・・・・
    最初はカンマ区切り、2 つ目以降はスペース区切りなのですね。

    最初の 2 文字 + カンマは、行番号を表すのでしょうか。
    (99 行目あるいは &HFF 行目を超えたときにどうなるのだろう…?)

    それとも、カンマでも空白でも許容する、ということなのでしょうか。


    > というのをテキストで作成し
    ここでいう「テキスト」が何を指しているのか読み取れませんでした。
    先ほどの「文字列」とは別のものなのですよね?


    > またreadalllineで string配列に戻し
    > byteListへ戻したいんですが ここができないです
    文字列とバイナリを行ったり来たりしていて、処理の流れが
    どうにも把握できていないのですが、ひとまず、こんな手順ではどうでしょうか。


    Dim src As String() = {"01,10 20 11 15 FF", "02,10 20"}
    Dim byteList As New List(Of Byte())

    byteList.Clear()
    For Each line As String In src
     '16進数文字列以外は捨てる
     line = New String(line.ToUpper().Where(Function(c) c Like "[0-9A-F]").ToArray())

     Using ms As New MemoryStream()
      '2文字ずつ切り出す
      For i As Integer = 0 To line.Length - 1 Step 2
       ms.WriteByte(Convert.ToByte(line.Substring(i, 2), 16))
      Next

      'byteList に詰める
      byteList.Add(ms.ToArray())
     End Using
    Next
記事No.87146 のレス /過去ログ149より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -