{
// ================================================ ========== // 16进制转字符串 パブリック 静的 バイト [] HexToString(バイト[] STR) { 文字列の文字列= Encoding.Default.GetString(STR)。 バイト [] STR = 新しい バイト [Str.Length / 2 ]。 用(INT iは= 0 ; I <str.Length I ++ ) { int型の TEMP = Convert.ToInt32(String.Substring(I * 2、2)、16 )。 STR [I] =(バイト)TEMP。 } 戻りSTR。 } パブリック 静的 バイト [] HexToString(列STR) { バイト [] STR = 新しい バイト [Str.Length / 2 ]。 用(INT iは= 0 ; I <str.Length I ++ ) { int型の TEMP = Convert.ToInt32(Str.Substring(iは* 2、2)、16 )。 STR [i]を =(バイト)温度; } リターンSTR。 } // 字符串转16进制 パブリック 静的 バイト [] StringToHex(バイト[] STR) { 文字列の文字列= "" ; 以下のために(INT iが= 0 ; I <Str.Lengthを、I ++ ) { 文字列 + = Encoding.Default.GetString(INTTOHEX(STR [I]))。 } 戻りEncoding.Default.GetBytes(文字列)。 } パブリック 静的 バイト [] StringToHex(列STR) { バイト [] = Encoding.GetEncoding STR(" 2312 " ).GetBytes(STR); 戻りStringToHex(STR); } プライベート 静的 バイト [](INTTOHEX バイトNUM) { IF(NUM> 255 ) { Console.WriteLineを(" より大きい2バイトの数" ); } バイト [] = ARR 新しい新しい バイト [ 2 ]; int型私は= 0 ; ながら、)(真 { 場合(numが%16 < 10 ) { ARR [I] =(バイト)((NUM%16)+ 48 )。 } 他 { スイッチ(NUM%16 ) { ケース 10:ARR [I] =(バイト)' A '。休憩; ケース 11:ARR [I] =(バイト)' B '。ブレーク; ケース 12:ARR [I] =(バイト)' C '。休憩; ケース 13:ARR [I] =(バイト)' D '。休憩; ケース 14:ARR [I] =(バイト)' E '。休憩; ケース 15:ARR [I] =(バイト)' F '。休憩 ; } } NUM / = 16 。 もし(NUM == 0 ) { ブレーク。 } I ++ ; } もし(ARR [ 0 ] == 0 ) { ARR [ 0 ] = 48 。 } もし(ARR [ 1 ] == 0 ) { ARR [ 1 ] = 48。 } バイト TEMP = ARR [ 0 ]。 ARR [ 0 ] = ARR [ 1 ]。 ARR [ 1 ] = TEMP。 返すARR。 }
}