2017-04-18 5 views
1

Also möchte ich ein ByteArray in Binary angezeigt werden.Make ByteArray Anzeige in Binär

[HttpGet("GetCategoriesInByte")] 
    public byte[] GetCategoriesInByte() 
    { 
     List<object> categoryList = new List<object>(); 
     var categories = Database.Categories 
      .Where(eachCategoryEntity => eachCategoryEntity.DeletedAt == null).AsNoTracking(); 
     foreach (var category in categories) 
     { 
      categoryList.Add(new 
      { 
       CategoryId = category.CategoryId, 
       CategoryName = category.CategoryName, 
       CreatedAt = category.CreatedAt, 
       UpdatedAt = category.UpdatedAt, 
       DeletedAt = category.DeletedAt 
      }); 
     } 

     JsonSerializer jsonSerializer = new JsonSerializer(); 
     MemoryStream memoryStream = new MemoryStream(); 
     BsonWriter bsonWriter = new BsonWriter(memoryStream); 
     jsonSerializer.Serialize(bsonWriter, categoryList); 

     byte[] categoryListArray = Encoding.ASCII.GetBytes(categoryList.ToString()); 
     return categoryListArray; 
    }//End of GetCategoriesInByte 

Der Ausgang ist jetzt:

"U3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1N5c3RlbS5PYmplY3Rd"

ich es etwas sein wollen wie:

00100100 .. und so weiter

Ich möchte es als ein Byte [] senden und es als Binär anzeigen.

Wie kann ich das tun? Danke im Voraus.

+0

Wo sehen Sie diese Ausgabe sehen? und wo willst du es anzeigen? –

+0

Nein, "Binär String" ist falsch. – Enigmativity

+0

@OfirWinegarten Ich möchte es nur in der Konsole sehen, es soll nicht angezeigt werden, ich möchte nur, dass es in Binary angezeigt wird. Im Moment benutze ich PostMan und die API, um die Ausgabe zu erhalten, die mir gezeigt wird. –

Antwort

0

Versuchen folgende:

  memoryStream.Position = 0; // reset memory string to beginning after write all data 
      BinaryReader reader = new BinaryReader(memoryStream); 
      byte[] data = reader.ReadBytes((int)memoryStream.Length); 
      string hex = string.Join("", data.Select(x => x.ToString("x2"))); 
+0

Danke für die Antwort, aber ich möchte keine Zeichenfolge zurückgeben. –

+0

Die letzte zu konvertierende Zeile ist nicht erforderlich. Nur enthalten, um die Hex-Werte ähnlich wie Ihre Anfrage zu erhalten. – jdweng