我编写了此代码,以使用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()