Domanda

voglio mettere a confronto i primi byte in byte [] con una stringa. Come posso fare questo?

È stato utile?

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
scroll top