我编写了此代码,以使用ASN.1生成的类获取Int和String。它与Integer一起正常工作,但我不知道如何将IA5String强制转换为String。

ServerFirstResponse response1 = new ServerFirstResponse();
ASN1Integer serverNumber= response1.serverInt;
 int serverNumbervalue = (int)serverNumber.getValue();

IA5String serverString=response1.serverString;
String serverString = (String) serverString.getBytes();


这是ASN序列的描述

ServerFirstResponse ::= SEQUENCE {

   serverInt    INTEGER ,

   serverString     IA5String

 }

最佳答案

javadocs here不会列出getBytes方法,而是列出getValue方法。无论哪种方式,都不能将byte[]强制转换为String

您可以将bytes传递给String构造函数

new String(serverString.getBytes())

要么

只需将toString用作serverString.toString()

09-28 07:22