📄 serializestring.java
字号:
/* * @(#)$Id: SerializeString.java,v 1.6 2004/07/02 23:59:23 huebsch Exp $ * * Copyright (c) 2001-2004 Regents of the University of California. * All rights reserved. * * This file is distributed under the terms in the attached BERKELEY-LICENSE * file. If you do not find these files, copies can be found by writing to: * Computer Science Division, Database Group, Universite of California, * 617 Soda Hall #1776, Berkeley, CA 94720-1776. Attention: Berkeley License * * Copyright (c) 2003-2004 Intel Corporation. All rights reserved. * * This file is distributed under the terms in the attached INTEL-LICENSE file. * If you do not find these files, copies can be found by writing to: * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, * Berkeley, CA, 94704. Attention: Intel License Inquiry. */package util.network.serialization;import java.io.UnsupportedEncodingException;/** * Class SerializeString * */public class SerializeString { public static final byte NULL_VALUE = -1; private static void doSerialization(GenericByteBuffer outputBuffer, byte[] theBytes) { int length = (theBytes == null) ? NULL_VALUE : theBytes.length; outputBuffer.putInt(length); if (theBytes != null) { outputBuffer.put(theBytes); } } /** * Method serialize * * @param outputBuffer * @param objString */ public static void serialize(GenericByteBuffer outputBuffer, String objString) { byte[] theBytes = null; if (objString != null) { theBytes = objString.getBytes(); } doSerialization(outputBuffer, theBytes); } /** * Method serializeUSASCII * * @param outputBuffer * @param objString */ public static void serializeUSASCII(GenericByteBuffer outputBuffer, String objString) { byte[] theBytes = null; try { if (objString != null) { theBytes = objString.getBytes("US-ASCII"); } } catch (UnsupportedEncodingException exception) { throw new RuntimeException( "SerializeString: Unsupported character encoding, US-ASCII"); } doSerialization(outputBuffer, theBytes); } /** * Method serializeUTF8 * * @param outputBuffer * @param objString */ public static void serializeUTF8(GenericByteBuffer outputBuffer, String objString) { byte[] theBytes = null; try { if (objString != null) { theBytes = objString.getBytes("UTF-8"); } } catch (UnsupportedEncodingException exception) { throw new RuntimeException( "SerializeString: Unsupported character encoding"); } doSerialization(outputBuffer, theBytes); } /** * Method serializeUTF16 * * @param outputBuffer * @param objString */ public static void serializeUTF16(GenericByteBuffer outputBuffer, String objString) { byte[] theBytes = null; try { if (objString != null) { theBytes = objString.getBytes("UTF-16"); } } catch (UnsupportedEncodingException exception) { throw new RuntimeException( "SerializeString: Unsupported character encoding"); } doSerialization(outputBuffer, theBytes); } private static byte[] doDeSerialization(GenericByteBuffer inputBuffer) { int length = inputBuffer.getInt(); if (length == NULL_VALUE) { return null; } byte[] theBytes = new byte[length]; inputBuffer.get(theBytes, 0, length); return theBytes; } /** * Method deSerialize * * @param inputBuffer * @return */ public static String deSerialize(GenericByteBuffer inputBuffer) { byte[] theBytes = doDeSerialization(inputBuffer); return (theBytes == null) ? null : new String(theBytes); } /** * Method deSerializeUSASCII * * @param inputBuffer * @return */ public static String deSerializeUSASCII(GenericByteBuffer inputBuffer) { byte[] theBytes = doDeSerialization(inputBuffer); try { return (theBytes == null) ? null : new String(theBytes, "US-ASCII"); } catch (UnsupportedEncodingException exception) { throw new RuntimeException( "SerializeString: Unsupported character encoding, US-ASCII"); } } /** * Method deSerializeUTF8 * * @param inputBuffer * @return */ public static String deSerializeUTF8(GenericByteBuffer inputBuffer) { byte[] theBytes = doDeSerialization(inputBuffer); try { return (theBytes == null) ? null : new String(theBytes, "UTF-8"); } catch (UnsupportedEncodingException exception) { throw new RuntimeException( "SerializeString: Unsupported character encoding, UTF-8"); } } /** * Method deSerializeUTF16 * * @param inputBuffer * @return */ public static String deSerializeUTF16(GenericByteBuffer inputBuffer) { byte[] theBytes = doDeSerialization(inputBuffer); try { return (theBytes == null) ? null : new String(theBytes, "UTF-16"); } catch (UnsupportedEncodingException exception) { throw new RuntimeException( "SerializeString: Unsupported character encoding, UTF-16"); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -