做数据格式转换的DatatypeConverter类的例子程序

转自:http://www.concretepage.com/java/example_datatypeconverter_java

参考:Class DatatypeConverter


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 package javax.xml.bind can do all to convert xml schema data type to java data type. DatatypeConverter has print and parse methods. print method encodes the data into lexical representation of xsd. And parse method 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

   
   
   
   
  1. Find the sample example.
  2. package com.concretepage;
  3. import java.util.Calendar;
  4. import javax.xml.bind.DatatypeConverter;
  5. public class DatatypeConverterTest {
  6. public static void main(String[] args) {
  7. //Testing DatatypeConverter.printBase64Binary
  8. String s1 = "Testing DatatypeConverter.printBase64Binary";
  9. String encodeds1 = DatatypeConverter.printBase64Binary(s1.getBytes());
  10. System.out.println(encodeds1);
  11. byte[] decodeds1= DatatypeConverter.parseBase64Binary(encodeds1);
  12. System.out.println(new String(decodeds1));
  13. //Testing DatatypeConverter.printHexBinary
  14. String s2 = "Testing DatatypeConverter.printHexBinary";
  15. String encodeds2 = DatatypeConverter.printHexBinary(s2.getBytes());
  16. System.out.println(encodeds2);
  17. byte[] decodeds2= DatatypeConverter.parseHexBinary(encodeds2);
  18. System.out.println(new String(decodeds2));
  19. //Lexical representation of date time
  20. System.out.println(DatatypeConverter.printDateTime(Calendar.getInstance()));
  21. }
  22. }
Output
   
   
   
   
  1. VGVzdGluZyBEYXRhdHlwZUNvbnZlcnRlci5wcmludEJhc2U2NEJpbmFyeQ==
  2. Testing DatatypeConverter.printBase64Binary
  3. 54657374696E6720204461746174797065436F6E7665727465722E7072696E7448657842696E617279
  4. Testing DatatypeConverter.printHexBinary
  5. 2013-03-15T18:23:25.830+05:30


你可能感兴趣的:(做数据格式转换的DatatypeConverter类的例子程序)