我想通過(guò)套接字發(fā)送數(shù)據(jù),但我的設(shè)備沒(méi)有獲取字符串,所以我必須將我的字符串轉(zhuǎn)換為 int,我該怎么做?我有一個(gè)最多 22 個(gè)字符的字符串,我必須通過(guò)套接字將其作為整數(shù)或長(zhǎng)整數(shù)或任何數(shù)字格式發(fā)送,但 Java 中的任何數(shù)據(jù)類型都不能容納超過(guò) 8 個(gè)字節(jié),我該怎么辦?我也試過(guò)這些代碼:long l = Long.valueOf(message, 16);// message="11EE0000AA0000FF03A901"long l = Long.parseLong(message, 16);// message="11EE0000AA0000FF03A901"int l = Integer.parseInt(message, 16);// message="11EE0000AA0000FF03A901"
2 回答

FFIVE
TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
BigInteger val = new BigInteger(message, 16); System.out.println(val);
嘗試這個(gè) !

鳳凰求蠱
TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
即使是 long 也無(wú)法處理 22 字符的 Hax 值。22 char long hax 值需要至少 84 位來(lái)表示。
由于您的客戶端只能接收整數(shù)并且每個(gè)整數(shù)都是 32 位長(zhǎng)。你可以將它分成 3 個(gè)不同的整數(shù)并通過(guò)套接字發(fā)送它們。在客戶端接收這 3 個(gè)整數(shù)并轉(zhuǎn)換/粘合它們以生成您想要的字符串。
添加回答
舉報(bào)
0/150
提交
取消