プロが教えるわが家の防犯対策術!

フレームチェックシーケンスの計算をC#で実現したいのですが、
Cだと下記のコードで実現できる16進数からASCIIへの変換のやり方を教えてください。
例えば0x5BをASCIIの5B(0x35、0x42)に変換できる簡単なやり方はありませんか。
0x42なら42(0x34、0x32)、0xAFならAF(0x41、0x46)といったふうに変換したいです。
C#ではsprinf()が使えないので、下記のコードがそのまま使えないので困っています。

len = strlen(send);
for (i=0, fcs=0; i<len; i++) fcs ^= send[i];
sprintf(str, "%02X*\r\n", fcs);
strcat(send, str);

A 回答 (2件)

using System;



class Program {
public static void Main() {
char n = (char)0x5B;
string result = string.Format("{0,2:X}",(int)n);
Console.WriteLine(result);
}
}
    • good
    • 0
この回答へのお礼

具体的なコードありがとうございました。
分かりやすくて助かります。

お礼日時:2011/06/13 23:06

String.Format とか


http://msdn.microsoft.com/ja-jp/library/fht0f5be …

> 16進数からASCII

正確には「整数」から「整数を16進数で表現した文字列」ですね。
    • good
    • 1
この回答へのお礼

ありがとうございました。参考にしてみます。

>正確には「整数」から「整数を16進数で表現した文字列」ですね。
はい、不勉強ですいません。

お礼日時:2011/06/13 23:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています