转自:http://www.concretepage.com/java/example_datatypeconverter_java
If we need to convert XML schema data types,then we need to through knowledge of xml schema data type and lexical representation. DatatypeConverter class of the packagejavax.xml.bindcan do all to convert xml schema data type to java data type. DatatypeConverter has print and parse methods.printmethod encodes the data into lexical representation of xsd. Andparsemethod can decode the lexical representation to string.
【yasi】printXXX 的函数就是encode,parseXXX 的函数就是decode。比如,String printBase64Binary(byte[])就是将字节数组做base64编码,byte[] parseBase64Binary(String) 就是将Base64编码后的String还原成字节数组。
注意,下面代码第10行,传给printBase64Binary 的参数是 s1.getBytes(),而不是 s1 本身。
DatatypeConverterTest.java
Find the sample example. package com.concretepage; import java.util.Calendar; import javax.xml.bind.DatatypeConverter; public class DatatypeConverterTest { public static void main(String[] args) { //Testing DatatypeConverter.printBase64Binary String s1 = "Testing DatatypeConverter.printBase64Binary"; String encodeds1 = DatatypeConverter.printBase64Binary(s1.getBytes()); System.out.println(encodeds1); byte[] decodeds1= DatatypeConverter.parseBase64Binary(encodeds1); System.out.println(new String(decodeds1)); //Testing DatatypeConverter.printHexBinary String s2 = "Testing DatatypeConverter.printHexBinary"; String encodeds2 = DatatypeConverter.printHexBinary(s2.getBytes()); System.out.println(encodeds2); byte[] decodeds2= DatatypeConverter.parseHexBinary(encodeds2); System.out.println(new String(decodeds2)); //Lexical representation of date time System.out.println(DatatypeConverter.printDateTime(Calendar.getInstance())); } }
Output
VGVzdGluZyBEYXRhdHlwZUNvbnZlcnRlci5wcmludEJhc2U2NEJpbmFyeQ== Testing DatatypeConverter.printBase64Binary 54657374696E6720204461746174797065436F6E7665727465722E7072696E7448657842696E617279 Testing DatatypeConverter.printHexBinary 2013-03-15T18:23:25.830+05:30原文链接:https://www.f2er.com/xml/297276.html