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

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

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

Re[5]: C# long形式について


(過去ログ 127 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■75722 / inTopicNo.1)  C# long形式について
  
□投稿者/ ぽん吉 (20回)-(2015/04/26(Sun) 20:47:27)

分類:[C#] 

long value74 = Convert.ToInt64("", 16);

long形式に16進数の文字列を8バイト以上格納したいのですが、このままでは8バイトまでしか対応していないのですが、
どうすれば8バイト以上格納することができるでしょうか?

ご教授いただければ幸いです。
引用返信 編集キー/
■75724 / inTopicNo.2)  Re[1]: C# long形式について
□投稿者/ Azulean (467回)-(2015/04/26(Sun) 22:02:23)
No75722 (ぽん吉 さん) に返信
> long形式に16進数の文字列を8バイト以上格納したいのですが、このままでは8バイトまでしか対応していないのですが、
> どうすれば8バイト以上格納することができるでしょうか?

long 型がそもそも 8 バイトまでしか入らないので、1 つの long 型変数には 8 バイトを超えて代入することはできません。

そもそも、なぜそういったことがしたいのですか?
その目的を説明してもらえれば、配列にすればよいとか、byte 列にすべきだとか、別の助言が得られる可能性があります。
引用返信 編集キー/
■75725 / inTopicNo.3)  Re[2]: C# long形式について
□投稿者/ ぽん吉 (21回)-(2015/04/26(Sun) 22:25:51)
long value74 = Convert.ToInt64("", 16);
byte[] data = BitConverter.GetBytes(value74);

longに代入した16進数をbyte型に代入がしたくて。


引用返信 編集キー/
■75726 / inTopicNo.4)  Re[3]: C# long形式について
□投稿者/ Azulean (468回)-(2015/04/26(Sun) 22:37:00)
No75725 (ぽん吉 さん) に返信
> long value74 = Convert.ToInt64("", 16);
> byte[] data = BitConverter.GetBytes(value74);
>
> longに代入した16進数をbyte型に代入がしたくて。

単純に 16 進数の文字列で表されたものを byte[] に変換したいだけなんですよね?
そうなのであれば「16進数 文字列 byte[] C#」で探すと事例がいくつか出てきます。

一例として紹介しておきます。
http://tilfin.hatenablog.com/entry/20070923/1190528490
引用返信 編集キー/
■75729 / inTopicNo.5)  Re[4]: C# long形式について
□投稿者/ ぽん吉 (22回)-(2015/04/26(Sun) 23:04:27)
解決しました。

上記URLに乗っていた関数を使ってstringに16進数の文字列をbyte型に変換することができました。

ありがとうございました。

public static byte[] FromHexString(string str) {
int length = str.Length / 2;
byte[] bytes = new byte[length];
int j = 0;
for (int i = 0; i < length; i++) {
bytes[i] = Convert.ToByte(str.Substring(j, 2), 16);
j += 2;
}
return bytes;
}
引用返信 編集キー/
■75730 / inTopicNo.6)  Re[5]: C# long形式について
□投稿者/ ぽん吉 (23回)-(2015/04/26(Sun) 23:04:50)
解決済みにするの忘れていました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -