我的服务器使用ASN.1生成的类接收Integer
BerInputStream in = new BerInputStream(socket.getInputStream());
h.decode(in);
ASN1Integer ClientNumber= h.clientInt;
System.out.println(ClientNumber);
h.clientInt返回一个ASN.1Integer。
如果客户端发送4,则输出为
BerInteger([Universal 2])=4
如何将此ASN.1Integer转换为Integer
最佳答案
ASN1Integer
扩展BerInteger
。 BerInteger具有getValue
方法,该方法返回long
值。如果需要,可以将其强制转换为整数:
ASN1Integer clientNumber = h.clientInt;
int value = (int)clientNumber.getValue();
(尽管最好使用长时间才能达到全精度)