Come faccio a confrontare un byte [] per stringa?
Domanda
voglio mettere a confronto i primi byte in byte [] con una stringa. Come posso fare questo?
Soluzione
È necessario conoscere la codifica della matrice di byte per confrontare correttamente loro.
Ad esempio, se si conosce la matrice di byte è fatto di byte UTF-8, quindi è possibile creare una stringa dal array di byte:
System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
string s = enc.GetString(originalBytes);
Ora è possibile confrontare stringa s per l'altra stringa.
Al contrario, se si desidera confrontare solo i primi byte, è possibile convertire la stringa in un array di byte UTF8:
System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
byte[] b = enc.GetBytes(originalString);
Ora è possibile confrontare array di byte b per l'altra array di byte.
Ci sono diversi altri oggetti di codifica per ASCII, Unicode, ecc Vedere la pagina di MSDN qui.
Altri suggerimenti
utilizzo
byte [] fromString = Encoding.Default.GetBytes("helloworld");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow