Tôi có một số uint8(số nguyên 8 bit chưa ký) đến từ gói UDP. Java chỉ sử dụng các ký tự nguyên thủy. Làm thế nào để phân tích cú pháp cấu trúc dữ liệu này một cách chính xác với java?Java làm thế nào để phân tích cú pháp uint8 trong java?
Trả lời
Đơn giản chỉ cần đọc nó như là một byte và sau đó chuyển đổi sang một int.
byte in = udppacket.getByte(0); // whatever goes here
int uint8 = in & 0xFF;
bitmask là cần thiết, vì nếu không, giá trị với bit 8 được đặt thành 1 sẽ được chuyển thành int âm. Ví dụ:
This: 10000000
Will result in: 11111111111111111111111110000000
Vì vậy, khi bạn sau đó áp dụng bitmask 0xFF cho nó, số 1 hàng đầu sẽ bị hủy. Để biết thông tin của bạn: 0xFF == 0b11111111
Cảm ơn bạn, điều này rất thông tin. Tôi đánh giá cao phản hồi của bạn – stackoverflow
Cảm ơn! Nhiều đánh giá cao – milosmns
0xFF & number
sẽ coi số đó là byte chưa ký. Nhưng kiểu kết quả là int
Bạn có thể lưu trữ 8-bit trong một byte
Nếu bạn thực sự cần phải chuyển đổi nó vào một giá trị unsigned (và thường là bạn không), bạn có thể sử dụng một mặt nạ
byte b = ...
int u = b & 0xFF; // unsigned 0 .. 255 value
bạn có thể làm một cái gì đó như thế này:
int value = eightBits & 0xff;
Nhà điều hành &
(giống như tất cả các nhà khai thác nguyên trong Java) lên phôi eightBits
một int
(bằng cách đăng nhập mở rộng bit dấu). Vì điều này sẽ biến các giá trị lớn hơn 0x7f thành các giá trị âm int
, bạn cần phải tắt tất cả trừ 8 bit thấp nhất.
Bạn chỉ có thể phân tích cú pháp thành short
hoặc int
, có đủ dải để chứa tất cả các giá trị của một byte chưa ký.
- 1. Trình phân tích cú pháp email Java?
- 2. Cách phân tích cú pháp JSONArray trong Java với Json.simple?
- 3. phân tích cú pháp đầu vào json trong hadoop java
- 4. Đọc và phân tích cú pháp KML trong java
- 5. Phân tích cú pháp chung của PB trong java
- 6. Phân tích cú pháp XML trong Java thông qua Groovy
- 7. Phân tích cú pháp ngày RFC 2822 trong JAVA
- 8. Phân tích cú pháp XML song song trong Java
- 9. Làm cách nào để phân tích cú pháp XML được định dạng sai trong Java?
- 10. Chuỗi JavaScript phân tích cú pháp trong Java
- 11. Phân tích cú pháp một API Youtube Ngày trong Java
- 12. Làm cách nào để phân tích cú pháp chuỗi HTML trong Java?
- 13. Làm cách nào để phân tích cú pháp mã REXX trong Java?
- 14. MongoDB + Java - phân tích cú pháp JSON qua com.mongodb.util.JSON.parse
- 15. Java/Android - Phân tích cú pháp ByteBuffer nhanh
- 16. Phân tích cú pháp nguồn Java với Scala
- 17. Kết hợp phân tích cú pháp phân tích cú pháp, phân tích cú pháp và phân tích cú pháp rừng
- 18. Thư viện phân tích cú pháp tên Java?
- 19. Phân tích cú pháp XML Java và bù gốc byte
- 20. Phân tích cú pháp tài liệu RTF bằng Java/JavaCC
- 21. cách phân tích cú pháp xml thành đối tượng java?
- 22. Cách xóa #text khỏi phân tích cú pháp Nút của tôi trong phân tích cú pháp xml của Java dom
- 23. Java: Làm cách nào để phân tích cú pháp đúng ngày?
- 24. Trình phân tích cú pháp địa chỉ bưu điện Java
- 25. bất ngờ java SimpleDateFormat phân tích cú pháp ngoại lệ
- 26. javacc tùy chọn phân tích cú pháp lookahead, Java
- 27. Phân tích cú pháp RDF n-triple Java
- 28. Java: làm thế nào để phân tích đôi từ regex
- 29. Trình phân tích cú pháp Java được viết bằng JavaScript
- 30. gcc để phân tích cú pháp mã
Bạn có nghĩa là ** uint8 ** không? – SLaks