0

我的服务器使用 ASN.1 生成的类接收一个整数

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

4

1 回答 1

1

ASN1Integer延伸BerIntegerBerInteger有一个getValue返回long值的方法。如果需要,可以将其转换为整数:

ASN1Integer clientNumber = h.clientInt;
int value = (int)clientNumber.getValue();

(虽然最好使用long来达到全精度)

于 2013-05-20T16:00:23.150 回答