2010-09-05 4 views
1

J'ai ceci byte[]: 00 28 00 60 00 30 10 70 00 22 FF FF.Octet tableau à Word Array à chaîne

Je veux combiner chaque paire d'octets en un mot: 0028 0060 0030 1070 0022 FFFF.

Je veux également transformer le tableau de mots en une chaîne: "0028 0060 0030 1070 0022 FFFF" (sans utiliser byte[]).

Je fixe le code de SLaks et il fonctionne:

StringBuilder sb = new StringBuilder(); 
for(var i = 0; i < words.Length; i++) 
{ 
    sb.AppendFormat("{0:X4} ", words[i]); 
} 

Répondre

4

Comme ceci:

StringBuilder words; 

for(int i = 0; i < bytes.Length; i += 2) { 
    if (i > 0) words.Append(' '); 
    words.AppendFormat({0:X2}{1:X2}", bytes[i], bytes[i + 1]); 
} 

Modifier: Pour ushort s:

StringBuilder words; 

for(int i = 0; i < words.Length; i++) { 
    if (i > 0) words.Append(' '); 
    words.AppendFormat({0:X4}", ushortArray[i]); 
} 
+0

qui va de l'octet [] pour chaîne, et est bon à savoir, mais je voulais savoir comment faire face à tableau de mots (ushort []). – OIO

Questions connexes