Je me demandais si quelqu'un ici connaissait un moyen efficace de transformer un entier en un octet [4]? J'essaie d'écrire un int dans MemoryStream, et cette chose veut que je lui donne des octetsCast int à byte [4] dans .NET
Répondre
Vous pouvez utiliser BitConverter.GetBytes
si vous voulez convertir un type primitif à sa représentation d'octets. N'oubliez pas de vous assurer que l'endianness est correct pour votre scénario.
Utilisez un BinaryWriter (construit avec votre flux de mémoire); il a une méthode d'écriture qui prend un Int32.
BinaryWriter bw = new BinaryWriter(someStream);
bw.Write(intValue);
bw.Write((Int32)1);
// ...
Bonne idée! Merci – galets
BinaryWriter
sera la solution la plus simple d'écrire à un fluxBitConverter.GetBytes
est le plus approprié si vous voulez vraiment un tableau- Mes propres versions en MiscUtil (
EndianBitConverter
etEndianBinaryWriter
) vous donner plus de contrôle sur l'endianness, et vous permettent également de convertir directement dans un tableau existant.
Vous pouvez également faire votre propre décalage! Bien que j'utiliserais les méthodes intégrées, j'ai décidé d'y jeter un coup d'œil.
byte[] getBytesFromInt(int i){
return new byte[]{
(byte)i,
(byte)(i >> 8),
(byte)(i >> 16),
(byte)(i >> 24)
};
}
Bien sûr, vous devez vous inquiéter de l'endian.
se trouve également être multi-plateforme, ce qui précède fonctionne également en Java :) –
Ouais lol, a dû implémenter une classe d'utilitaire avec un code similaire en Java afin que je puisse contrôler la conversion des octets = P –
- 1. Comment convertir int [] en byte []
- 2. Blocage de la version de System.IO.Stream.Read (byte [], int, int)
- 3. sql server 4 octets unsigned int
- 4. IronPython - Convertir int en tableau byte
- 5. convertir un int [] en byte [] sans créer de nouveaux objets
- 6. Objet cast à T
- 7. erreur: cast de 'const prog_uchar *' à 'byte' perd de la précision?
- 8. C# octet cast [*, *, *] à l'octet []
- 9. Convertir SQL Server signé int en binaire (4)
- 10. Utilisation de log4net dans .net petshop 4
- 11. Conversion de byte [] à chaîne
- 12. Modification AJAX dans .NET 4: Sys.Services.AuthenticationService
- 13. WPF Image à byte []
- 14. .Net int() équivalent en PHP
- 15. linux to windows C++ byte array
- 16. Sql cast en xml, puis exécutez .value en cast
- 17. Construction de projets .NET 4 avec Nant
- 18. converti à Int octets (NSString)
- 19. Pourquoi un booléen de 4 octets dans .NET?
- 20. insert int dans la colonne xml sql
- 21. Comment écrire un littéral int abrégé int?
- 22. SQL Server 2005 Cast Assemblée non valide
- 23. CAST mal coulée float à varchar
- 24. Cast "vide const *" à "const char *"
- 25. Cast de TObject à l'interface de type
- 26. Convertir int à CGFloat
- 27. iPhone - int à NSData?
- 28. F # int64 à int
- 29. Pourquoi le compte int saute-t-il de 1 à 4 en entrant dans une boucle? C++
- 30. Convertir BSTR à int
Merci! Je savais qu'il y avait un moyen facile de le faire :) – galets