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

わんくま同盟

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

C# と VB.NET の入門サイト

■87149 / 1階層)  Byte配列→文字列→Byte配列の方法策
□投稿者/ 魔界の仮面弁士 (1644回)-(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
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Byte配列→文字列→Byte配列の方法策 /io →Re[2]: Byte配列→文字列→Byte配列の方法策 /io
 
上記関連ツリー

Byte配列→文字列→Byte配列の方法策 / io (18/04/16(Mon) 13:54) #87146
Re[1]: Byte配列→文字列→Byte配列の方法策 / furu (18/04/16(Mon) 14:21) #87147
Re[1]: Byte配列→文字列→Byte配列の方法策 / 魔界の仮面弁士 (18/04/16(Mon) 15:18) #87148
Byte配列→文字列→Byte配列の方法策 / 魔界の仮面弁士 (18/04/16(Mon) 16:50) #87149 ←Now
  └ Re[2]: Byte配列→文字列→Byte配列の方法策 / io (18/04/16(Mon) 17:47) #87150
    └ Re[3]: Byte配列→文字列→Byte配列の方法策 / 魔界の仮面弁士 (18/04/16(Mon) 19:47) #87151
      └ Re[4]: Byte配列→文字列→Byte配列の方法策 / io (18/04/17(Tue) 09:03) #87155

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信