📄 marshalbase64.java
字号:
package com.ultrapower.tools;
/**
* @author VictorZheng
*
*/
import java.io.IOException;
import org.kobjects.serialization.ElementType;
import org.ksoap.ClassMap;
import org.ksoap.Marshal;
import org.ksoap.Soap;
import org.ksoap.SoapParser;
import org.ksoap.SoapWriter;
/** Base64 (de)serializer */
public class MarshalBase64 implements Marshal {
static byte [] BA_WORKAROUND = new byte [0];
public static Class BYTE_ARRAY_CLASS = BA_WORKAROUND.getClass ();
public Object readInstance (SoapParser parser,
String namespace, String name,
ElementType expected) throws IOException {
parser.parser.read (); // start tag
Object result = Base64.decode
(parser.parser.readText ());
parser.parser.read (); // end tag
return result;
}
public void writeInstance (SoapWriter writer,
Object obj) throws IOException {
writer.writer.write (Base64.encode ((byte[]) obj));
}
public void register (ClassMap cm) {
cm.addMapping
(cm.xsd, "base64Binary",
MarshalBase64.BYTE_ARRAY_CLASS, this);
cm.addMapping
(Soap.ENC, "base64",
MarshalBase64.BYTE_ARRAY_CLASS, this);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -