给定MIME字符串,我如何解析它以提取字符集?是否有一个实用程序将不同的MIME类型映射到对象类型(例如,为text / xml和application / xml返回'xml')
答案 0 :(得分:1)
好吧,给定一个已知字符集的字节数组,转换为String是微不足道的:
String result = new String(byteArray, charset);
所以你的第一个问题被简化为“从mime类型中提取字符集的最简单方法是什么?”。这取决于您希望能够处理的输入范围以及您已经使用的库。例如,一种方法是使用javax.mail.internet.ContentType
进行解析;我确信其他库提供类似的功能。
至于第二部分,我不确定“转换为对象”是什么意思。 Java中的所有内容(不包括基元)都已经是Object
;如果你在谈论更具体的事情,那么你需要 更具体。没有可用的通用框架可以从任何东西神奇地转换为任何东西,所以你需要在那里缩小你的要求。
答案 1 :(得分:0)
使用Andrzej的方法,如果你的意思是你刚刚得到的String对象是一个XML,那么就有办法将它转换为Java对象。一种简单的技术是;
第二部分可以使用各种库/ API。很少提及;
这些库非常易于使用。
答案 2 :(得分:0)
Jersy的MediaType有一个valueOf静态方法来解析MIME。
它还支持在给定值流的情况下创建对象。不幸的是,看起来它不能单独使用。