现在的位置: 首页 > 综合 > 正文

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

2019年05月11日 ⁄ 综合 ⁄ 共 1825字 ⁄ 字号 评论关闭

转自: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

    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

抱歉!评论已关闭.