Làm thế nào để chuyển đổi một mảng byte thành một mảng int? Tôi có một mảng byte giữ 144 mục và cách tôi đã thử là khá kém hiệu quả do sự thiếu kinh nghiệm của tôi. Tôi xin lỗi nếu điều này đã được trả lời trước đó, nhưng tôi không thể tìm thấy câu trả lời hay ở đâu cả.Làm thế nào để chuyển đổi một mảng byte thành một mảng int?
Trả lời
đơn giản:
//Where yourBytes is an initialized byte array.
int[] bytesAsInts = yourBytes.Select(x => (int)x).ToArray();
Hãy chắc chắn rằng bạn bao gồm System.Linq
với một tuyên bố sử dụng:
using System.Linq;
Và nếu LINQ không phải là điều của bạn, bạn có thể sử dụng thay vì:
int[] bytesAsInts = Array.ConvertAll(yourBytes, c => (int)c);
Tôi gặp lỗi: 'byte []' không chứa định nghĩa cho 'Chọn' và không có phương pháp mở rộng 'Chọn' chấp nhận đối số đầu tiên của loại 'byte []' có thể được tìm thấy (bạn đang thiếu một chỉ thị bằng cách sử dụng hoặc một tham chiếu lắp ráp?) – user1166981
@ user1166981: Đảm bảo tham chiếu 'System.Linq' trong dự án của bạn. (Bạn đang nhắm mục tiêu phiên bản nào của .NET framework?) – Ryan
ok thats đã xóa lỗi nhờ – user1166981
Tôi biết đây là một bài đăng cũ, nhưng nếu bạn đang tìm kiếm ở nơi đầu tiên để có được một mảng các gói số nguyên ed trong một mảng byte (và nó có thể được xem xét byte mảng của bạn 144 yếu tố), đây là một cách để làm điều đó:
var size = bytes.Count()/sizeof (int);
var ints = new int[size];
for (var index = 0; index < size; index++)
{
ints[index] = BitConverter.ToInt32(bytes, index * sizeof (int));
}
Lưu ý: chăm sóc endianness nếu cần thiết. (Và trong hầu hết các trường hợp nó sẽ)
Tốt, đang tìm kiếm điều này. Mọi người dường như quên rằng (int) byteVar không giống như chuyển đổi một bytearray thành một int (ví dụ 4 byte cho một int) – Sliver2009
Có một giải pháp tốt hơn: https://stackoverflow.com/a/5896716/238419 Điều đó câu hỏi là về 'int []' thành 'byte []' nhưng giải pháp này nên hoạt động bất kể –
Bây giờ Đó là đơn giản như sau,
int[] result = Array.ConvertAll(bytesArray, Convert.ToInt32);
- 1. Làm thế nào để chuyển đổi mảng int thành int?
- 2. Chuyển đổi một mảng chuỗi thành mảng byte
- 3. Làm thế nào để chuyển đổi chuỗi thành mảng byte?
- 4. Chuyển đổi một Int thành một mảng BCD
- 5. chuyển đổi mảng chuỗi thành mảng byte
- 6. Làm thế nào để chuyển đổi một mảng float thành một byte [] và ngược lại?
- 7. Chuyển đổi mảng int thành mảng char
- 8. Làm thế nào để chuyển đổi một mảng boolean để một mảng int
- 9. Làm thế nào tôi có thể chuyển đổi một mảng byte thành một double và back?
- 10. Mảng kép chuyển đổi thành mảng byte
- 11. Làm thế nào để bạn chuyển đổi một mảng byte thành một thể hiện Bitmap (.NET)?
- 12. Chuyển đổi int thành mảng byte trong C?
- 13. Làm thế nào để chuyển đổi một byte thành bit?
- 14. F #: Chuyển đổi chuỗi thành một mảng byte
- 15. C# Làm thế nào để tôi chuyển đổi System.Net.ConnectStream thành một byte [] (mảng)
- 16. Làm thế nào để chuyển đổi một mảng byte thành đôi trong C?
- 17. Làm thế nào để chuyển đổi một mảng byte thành Base64 trong Java?
- 18. C#: Chuyển đổi mảng Byte thành một phao
- 19. Làm thế nào để chuyển đổi một mảng kết quả ActiveRecord thành một mảng bình thường?
- 20. Làm thế nào để chuyển đổi một mảng các chuỗi thành một mảng float trong numpy?
- 21. Chuyển đổi một mảng 2D thành một mảng 1D
- 22. Làm thế nào để chuyển đổi mảng nổi 2D thành mảng 2D thành mảng numpy?
- 23. Cách chuyển đổi mảng byte thành NSString
- 24. Chuyển đổi BitmapImage thành mảng Byte
- 25. Lỗi khi chuyển đổi mảng byte thành mảng int trong C#
- 26. Chuyển đổi java.io.StringWriter thành mảng byte []
- 27. Trong Golang, làm thế nào để bạn chuyển đổi một slice thành một mảng
- 28. chuyển đổi bitmap thành mảng byte
- 29. Làm thế nào để chuyển đổi một mảng byte để Stream
- 30. Chuyển đổi mảng byte thành PNG/JPG
những cách bạn đã cố gắng như thế nào? – Marlon
Chỉ cần đề cập - byte là 8 bit, int là 32 bit và bạn đang chuyển đổi byte thành int. Tất cả các int được chuyển đổi sẽ nằm trong khoảng từ 0 đến 255. – Bakudan